新定义的用于求和输入的函数:
mysum=function(...){
return(sum(...))
invisible(...)
}
> mysum(1,2,3,4)
[1] 10
如果我不使用sum
函数怎么办?我的意思是:
mysum=function(...){
s=0
for(i in ...){
s=s+i
}
return(s)
}
它不起作用。 ...
是否可以迭代?
在Python中,这很简单:
def mysum(*args):
s=0
for i in args:
s+=i
return(s)
答案 0 :(得分:2)
在循环之前在省略号上使用c()
,并将其分配给函数:
mysum=function(...){
vec = c(...)
s=0
for(i in vec){
s=s+i
}
return(s)
}
mysum(1,2,3)
[1] 6
答案 1 :(得分:2)
是的!
通常的方法是将其填充到列表中,然后遍历该列表:
app:drawableLeftCompat
app:drawableStartCompat
是使用my_fun <- function(...) {
args <- list(...)
# do stuff with ellipses args.
}
,还是直接输入命名参数,还是仅循环(lapply
)即可。
如果您假设for (i in seq_along(args)) {args[[i]]}
仅包含向量,则可以执行以下操作:
...