如何使用列表将参数粘贴到函数中。
例如,我想将public static void main(String[] args) {
App app = new App();
// Need to inject app here.
app.init(args);
app.start();
}
的参数粘贴到函数l
:
f
这是否有一个简单/优雅/可能的解决方案?
我有一个函数f <- function(a, b, c){
return(a + b + c)
}
l <- list(a = 1, b = 2, c = 3)
# here is the error:
f(unlist(l)) # the expected value is 6
,它返回一个列表,该列表应解析为另一个函数f
(也需要其他输入),并尝试缩短代码。例如
f.other
答案 0 :(得分:3)
有一个功能:
do.call(f, l)
[1] 6
函数?do.call
有助于以编程方式评估函数参数。
修改强>
关于第二个问题,如果要在创建列表后添加参数,请将新参数连接到列表:
l <- list(b=2, c=3)
如上所述,它是不完整的,如果我们尝试do.call(f, l)
则会抛出错误。要添加额外参数,我们可以使用:
l2 <- c(a=1, l)
在这种情况下,我们将a=1
添加到现有列表中以运行do.call(f, l2)
。