在某些函數中,我對使用省略號(...
)感到困惑,即如何將包含參數的對象作爲單個參數傳遞。在R中解析省略號的參數列表
在Python中,它被稱爲「解包參數列表」,例如,
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
在R例如你有功能file.path(...)
使用省略號。我想有這種行爲:
> args <- c('baz', 'foob')
> file.path('/foo/bar/', args)
[1] 'foo/bar/baz/foob'
相反,我得到
[1] 'foo/bar/baz' 'foo/bar/foob'
其中args
的元素不「解包」,並在同一時間進行評估。是否有相當於Pythons *arg
的R?
謝謝,這是做到了。 – mhermans 2010-08-08 08:09:35
關於這項技術的擴展討論:https://www.r-bloggers.com/a-new-r-trick-for-me-at-least/ – Alex 2017-02-26 23:50:36