我正在尝试在 Chapel 中创建一个空数组。一个元素的数组可以这样制作:
var a: [1..1] int = (1);
但是当我尝试
var b: [1..0] int = ();
我明白了
语法错误:')' 附近
教堂中有空数组文字吗?我一直找不到一个例子。
编辑
我试图获得一个空数组的原因是我想实现让这个函数适用于空数组:
proc sum_of_even_squares(a) {
// Does this work for empty arrays? Probably not.
return + reduce ([x in a] if x % 2 == 0 then x*x else 0);
}
assert(sum_of_even_squares([7]) == 0);
assert(sum_of_even_squares([7, 3]) == 0);
assert(sum_of_even_squares([7, 3, -8]) == 64);
assert(sum_of_even_squares([7, 3, -8, 4]) == 80);
但我无法形成一个空数组文字。