2015-09-06 9 views
9

なぜ以下は機能しませんか?なぜ `...`をループできないのですか?

f = function(...) for (i in ...) print(i) 
f(1:3) 
# Error in f(1:3) : '...' used in an incorrect context 

...オブジェクトタイプを解釈コードにアクセスできないので、それが動作しない

f = function(...) for (i in 1:length(...)) print(...[i]) 
f(1:3) 
# [1] 1 
# [1] 2 
# [1] 3 

答えて

8

この作業罰金ています。あなたはnongkrongがあったとして、リストなどのオブジェクトをキャプチャする必要があります。

for(i in list(...)) 

Rマニュアルhere

+4

を見てみましょうあなたはまた、 'C(...)のように 'C''でそれをラップすることができます –

+1

@ Remi.bサイドノートとして、実際には '...'、 '..2'などのように' ... 'の特定の要素にアクセスすることができます。ループ処理にはあまり役に立ちませんが、特定のアイテムを取得するためのショートカットとして時間を計る。 – joran

+0

@joran-nifty、これは不思議に思っている人のために '?Reserved'に書かれています。 – thelatemail

関連する問題