如何创建一个包含n个变量的函数(Julia)

对于固定n,我想创建一个带有n变量的函数

f(x_1, ..., x_n)

例如,如果n=3,我想创建一个算法,使得

f(x_1, x_2, x_3) = x_1 + x_2 + x_3

为每个都有一个算法会非常好n

f(x_1, ..., x_n) = x_1 + ... + x_n

我不知道如何声明函数以及如何创建n变量。

感谢您的帮助,

回答

在朱莉娅你可以做

function f(x...)
     sum(x)
end

现在:

julia> f(1,2,3)
6

请注意,在函数中f, ,x仅被视为 a ,Tuple因此您可以做任何想做的事情(包括要求元素类型等)。

更一般地,您可以定义function f(x...;y...). 让我们试一试

function f(x...;y...)
    @show x
    @show Dict(y)
end

现在运行它:

julia> f(1,2,"hello";a=22, b=777)
x = (1, 2, "hello")
Dict(y) = Dict(:a => 22, :b => 777)
Dict{Symbol, Int64} with 2 entries:
  :a => 22
  :b => 777

最后,另一种(可能不太优雅)方式可能是:

g(v::NTuple{3,Int}) = sum(v)

这迫使v成为一个3元素Tuple并被g称为g((1,2,3))


以上是如何创建一个包含n个变量的函数(Julia)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>