Leo*_*ith 2 arguments r variadic-functions
我们都知道函数中有一个collapse参数paste()。它指的是一个可选的字符串来分隔结果:
paste(1:5, collapse = ", ")
[1] "1, 2, 3, 4, 5"
Run Code Online (Sandbox Code Playgroud)
但是,当collapse参数拼写错误时 - 例如cpllapse- 调用不会出错,尽管结果令人困惑:
paste(1:5, cpllapse = ", ")
[1] "1 , " "2 , " "3 , " "4 , " "5 , "
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了cpllapseR 中的参数,但找不到任何东西。
为什么使用拼写错误的参数时不会paste()出错?如何解释结果?或者实际上有一个cpllapse参数paste()?
paste将省略号...作为其第一个参数。省略号收集与 的命名参数之一不匹配的所有函数参数paste。
帮助页面说:
...一个或多个 R 对象,要转换为字符向量。
您正在传递两个 R 对象,其中一个是命名参数并不重要,因为省略号和参数匹配在 R 中是如何工作的。和 R 中一样,输入向量被循环到最长输入向量的长度。
你在那里所做的基本上与 相同paste(1:5, rep(", ", 5), sep = " ")。