list - 在 R 中解压省略号的参数列表

标签 list r ellipsis iterable-unpacking

我对某些函数中省略号 (...) 的使用感到困惑,即如何将包含参数的对象作为单个参数传递。

在 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 的元素未同时“解包”和求值。 R 是否有相当于 Python 的 *arg

最佳答案

语法并不那么漂亮,但这可以解决问题:

do.call(file.path,as.list(c("/foo/bar",args)))

do.call 接受两个参数:一个函数和用于调用该函数的参数列表。

关于list - 在 R 中解压省略号的参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414078/

相关文章:

html - 子跨度元素脱离父元素,flexbox/margin - 填充问题

android - 椭圆化 TextView 中 SpannableString 的各行

python - 在Python中,有没有一种方法可以使用.format表示法将列表打印到字符串中?

r - 如何识别与向量匹配的行

r - 错误 : only defined on a data frame with all numeric variables with ddply on large dataset

r - 在 Ubuntu 上找不到 RODBC 包中的 odbcConnectExcel 函数

macros - Racket 宏省略语法

Python-从文本文件或列表中获取特定字符

python - 列 Pandas 数据帧的每一行中包含的列表中的总和值

Python:如何读取列表格式的文件?