を省略記号私の関数である。R:というし、変数にマッチした関数の引数は、ここで
print.log <- function(print.flag = T,...){
if(print.flag)
print(paste(as.character(Sys.time()),' - ',...))
}
関数コール:
print.log('listing x files')
エラーメッセージ: 場合にエラーで(print.flag)プリント(ペースト(as.character(Sys.time())、 " - "、: 引数はここ
論理として解釈ではない値print.flagが保持されます。 を
Browse[2]> print.flag
[1] "listing x files"
省略記号にプッシュしたい文字列が、結局print.flag変数にマッチしていることを理解しています。
私の質問:なぜそれが動作し、どのようにして希望の結果を得ることができますか? (つまり、print.flag変数を明示的に宣言しない限り、すべての関数引数は省略記号になります)
@kamashay私の答えがあなたの問題を解決するなら、あなたの質問が十分に答えられたことを示す答えを受け入れてください。 – cole
素晴らしい答えと素晴らしいコメント。これは確かに問題を解決します。 – kamashay