朱莉娅:相当于朱莉娅的Python中的* args?

时间:2018-01-15 19:36:42

标签: julia

Julia中有来自Python的* args的等效命令吗?我问,因为我正在尝试编写一个数值积分函数,其参数是一个可能依赖于几个常量的函数。例如,如果我的Julia函数是

function func(x,a,b)
return a*x + b
end

是否可以制作数组

args = [a,b]

并将此功能称为

val = func(x,*args)

1 个答案:

答案 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)