ジェネリック関数を作成する
S3 関数は自分で作成できます。最初のステップは、ジェネリック関数(generic)を書くことです。これは通常、UseMethod()(docs)を呼び出し、自分の関数名を文字列で渡す、1 行の関数になります。
S3 ジェネリックの最初の引数は、慣例的に x と呼ばれます(必須ではありません)。また、メソッド間で引数を受け渡す可能性に備えて、...(「エリプシス」または「ドットドットドット」)引数を含めるのがよい実践です。
全体として、S3 ジェネリックの構造は次のようになります。
an_s3_generic <- function(x, maybe = "some", other = "arguments", ...) {
UseMethod("an_s3_generic")
}
この演習はコースの一部です
R における S3 と R6 を使ったオブジェクト指向プログラミング
演習の手順
- オブジェクト
xの要素数を計算する S3 ジェネリック関数を定義してください。functionをget_n_elementsに代入します。- 引数は
xと...にします。 - 関数本体では
UseMethod()を呼び出してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create get_n_elements
get_n_elements <- ___(___, ___)
{
___("___")
}