我正在尝试理解...
中的(...)
和/或R
。据我所知,这用于向函数输入未知或多个参数,但何时这是必要的和/或有用的?我搜索了rdocumentation,但没有找到。在R Language Definition中,它是以非常抽象的术语定义的。
因此我问:为什么...
有用?它只是不是草率的编码?明确传递参数不是更好吗?
答案 0 :(得分:2)
它被称为varargs(variadic arguments的缩写)。
什么时候需要?
这不是绝对必要的,而且它本身并不是草率的。 任何语言中对varargs的“非草率”替代方法是将数组或列表作为单个变量传递。所以varargs只是一堆东西上的语法糖。
[什么时候]有用?
任何时候你想保存一些键击并在调用函数时隐式构造一个列表。
明确传递参数不是更好吗?
取决于。你的标准是什么?
答案 1 :(得分:1)
省略号使您可以定义具有未知数量的参数/参数的函数。
必须使用c
或list
等函数,其中用户提供的参数数量未知。
如果您在R控制台中输入c
或list
,您会发现这两个函数都使用...
作为参数。
在这两种情况下,很难明确传递参数,因为用户可以根据需要传递任意数量的参数。
您可以查看this post了解更多示例