ある関数の引数に省略記号である三連ドット(…)を持つかどうかを判定する関数を作成しましたので共有いたします。

判定する関数は次になります。


is_dots <- function(func) {
  if (!is.function(func)) {
    stop("Argument is not a function.")
  }
  return(any(is.element(names(as.list(args(func))), "...")))
}

検証用に適当な関数を作成します。


sample_func1 <- function(a) {}
sample_func2 <- function(a, ...) {}

作成したis_dots()関数に検証用の関数を適用してみます。


> print(is_dots(sample_func1))
[1] FALSE

> print(is_dots(sample_func2))
[1] TRUE

うまく動いていることが確認できました。

関連する記事

  • UbuntuでRStudioの外観をDarkに変更する方法UbuntuでRStudioの外観をDarkに変更する方法 Ubuntu上のRStudio(ver 1.0.153)の外観をダークテーマに変更する方法をお伝えします。 2017年8月31日時点の安定版RStudioには、外観を変更する機能は搭載されておりません。しかし、daily […]
  • R言語 CRAN Task View:クラスター分析&有限混合モデルR言語 CRAN Task View:クラスター分析&有限混合モデル CRAN Task View:Cluster Analysis & Finite Mixture Modelsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Friedrich Leisch, Bettina Gruen Contact: Bettina.Gruen at […]
  • UbuntuにRをインストールするための手順UbuntuにRをインストールするための手順 UbuntuにRをインストールするための手順をお伝えする。 Ubuntuのバージョン確認 Ubuntuのバージョンを確認するために、端末を起動し(ショートカットキー:Ctrl+Alt+t)、以下のコマンドを実行する。 DISTRIB_CODENAMEの行を控えておこう。下の内容では「trusty」の部分を控えておく。 $ cat […]
  • 度数分布表とヒストグラム度数分布表とヒストグラム 数値データの集合をただ眺めても、そのデータの特徴をつかむのは大変難しい。しかし、そのデータを表にまとめたもの、またはグラフにすると一目瞭然だ。特に、グラフにしたものは、大変分かりやすい。表にまとめたものを度数分布表、グラフにしたものをヒストグラムという。 では、早速具体的に見ていく。 度数分布表 度数分布表とは、以下の表のことを言う。ここで用いたデータは、統計Rに付 […]
  • R言語 CRAN Task View:RグラフィカルモデルR言語 CRAN Task View:Rグラフィカルモデル CRAN Task View: gRaphical Models in Rの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Soren Hojsgaard Contact: sorenh at […]
R 関数の引数が省略記号(…)を持つかどうかを判定する方法