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

PF1*_*111 3 julia

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

function func(x,a,b)
return a*x + b
end
Run Code Online (Sandbox Code Playgroud)

是否可以制作阵列

args = [a,b]

并将此函数称为

val = func(x,*args)

Abo*_*mar 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
Run Code Online (Sandbox Code Playgroud)

你可以用任何一种方式调用它:

args = [a, b]
val = func(x, args...)

# or
val = func(x, a, b)
Run Code Online (Sandbox Code Playgroud)

  • 你所展示的是不同的东西(即如何将_arbitrary_数量的参数传递给函数,也称为"可变参数"函数).OP想要的更简单.给定已经定义的`func(x,a,b)`函数,他们只需要将其称为`func(x,args ...)` (2认同)