在Julia中将对象数组解包到函数参数

6
如何将数组值解包成函数参数?
例如,函数Iterators.product()接受可变数量的迭代器作为参数,即:
collect(Iterators.product(1:2, 3:5))
  2×3 Array{Tuple{Int64,Int64},2}:
   (1, 3)  (1, 4)  (1, 5)
   (2, 3)  (2, 4)  (2, 5)

给定一个迭代器数组,例如a=[1:2, 3:5],如何在不手动访问其元素的情况下解包a(例如,当a的长度未知时)?

我希望有像Python中的星号运算符一样的东西(类似于Iterators.product(*a)),但我还没有找到类似的东西。

1个回答

8

找到了答案,而不是使用fun(*arr),应该使用fun(arr...)


2
它被称为“splat”运算符。来自文档: “splat”运算符...表示一系列参数。 ...可以在函数定义中使用,表示该函数接受任意数量的参数。 ...也可以用于将函数应用于一系列参数。 - Antonello

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接