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

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


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

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

関連する記事

  • R ggplotに回帰直線の式を表示する方法R ggplotに回帰直線の式を表示する方法 R言語のggplotにおいて、グラフに回帰直線の式を表示する方法をお伝えします。 ggplotのグラフに回帰直線の式を表示する方法はいくつかあります。 ここでは最も簡単と思われるggpmiscパッケージを用いて回帰直線の式を表示する方法をお伝えします。 環境 今回の作業環境をsessionInfo()関数で確認しておきます。 > […]
  • Ubuntu20.04にRをインストールする方法Ubuntu20.04にRをインストールする方法 Ubuntu 20.04 LTSにRをインストールする方法についてお伝えします。 作業は端末上で行うため、端末を起動しておきます(ショートカットキー:Ctrl+Alt+t)。 Ubuntuのバージョンを確認 Ubuntuのバージョンを確認するために、以下のコマンドを実行します。 Ubuntu 20.04と表記されていることを確認します。 $ cat […]
  • R言語 CRAN Task View:時系列解析R言語 CRAN Task View:時系列解析 CRAN Task View: Time Series Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Rob J Hyndman Contact: Rob.Hyndman at […]
  • 教師あり学習と教師なし学習のふわっとした説明教師あり学習と教師なし学習のふわっとした説明 機械学習の教師あり学習と教師なし学習について、難しい専門用語を全く使わずに概要を分かりやすく説明してみます。 プログラムとは まず、プログラムについてふわっと説明します。 このページをご覧になられているということは、ブラウザと呼ばれるプログラム(例えば、Google ChromeやMicrosoft Edge、Mozilla Firefox、Apple […]
  • R言語 CRAN Task View:薬物動態データの解析R言語 CRAN Task View:薬物動態データの解析 CRAN Task View: Analysis of Pharmacokinetic Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Bill Denney Contact: wdenney at […]
R 関数の引数が省略記号(…)を持つかどうかを判定する方法