Julia中有来自Python的* args的等效命令吗?我问,因为我正在尝试编写一个数值积分函数,其参数是一个可能依赖于几个常量的函数。例如,如果我的Julia函数是
function func(x,a,b)
return a*x + b
end
是否可以制作数组
args = [a,b]
并将此功能称为
val = func(x,*args)
?
答案 0 :(得分:5)
朱莉娅很容易。将...
放在函数定义中的最后一个参数之后会使它接受作为元组传递的任意数量的参数:
function func(x,args...)
result = zero(x*args[1])
for (i,arg) in enumerate(args)
result += arg * x^(length(args) - i)
end
result
end
你可以用任何一种方式调用它:
args = [a, b]
val = func(x, args...)
# or
val = func(x, a, b)