如何在函数中使用 var args(可变参数)?
How can I use var args(variadic arguments) in a function?
我试过
proc foo(args...?n) {
var x = max(args);
return x;
}
但是没用。
当我在 Chapel gitter 频道中提出上面的问题时,他们在下面给了我答案。它奏效了。
var args actuals 可以用作元组。因此,除非 max
是一个将元组作为参数的函数,否则它不会起作用。如果 max
也是一个 var args 函数,你必须一个一个地传递元组的元素。但是,教堂中有元组扩展,语法是 (...args)
包括括号所以有问题的行应该是 var x = max((...args))
我试过
proc foo(args...?n) {
var x = max(args);
return x;
}
但是没用。
当我在 Chapel gitter 频道中提出上面的问题时,他们在下面给了我答案。它奏效了。
var args actuals 可以用作元组。因此,除非 max
是一个将元组作为参数的函数,否则它不会起作用。如果 max
也是一个 var args 函数,你必须一个一个地传递元组的元素。但是,教堂中有元组扩展,语法是 (...args)
包括括号所以有问题的行应该是 var x = max((...args))