如何在函数中使用var args(可变参数)?

时间:2019-12-09 20:56:58

标签: function variadic-functions chapel

我尝试过类似的

proc foo(args...?n) {
  var x = max(args);
  return x;
}

但是没有用。

1 个答案:

答案 0 :(得分:1)

当我在教堂礼拜式频道的上方问问题时,他们在下方给了我答案。而且有效。

var args的实际值可以用作元组。因此,除非max是将元组作为args的函数,否则它将不起作用。如果max也是var args函数,则必须一一传递元组的元素。但是,教堂中有元组扩展,语法为(...args)(包括括号),因此有问题的行应为var x = max((...args))