这是一个我需要在Chapel中重新创建的类似Python的模式。将一个数组分配给Chapel类中的一个属性
class Gambler {
var luckyNumbers: [1..0] int;
}
var nums = [13,17,23,71];
var KennyRogers = new Gambler();
KennyRogers.luckyNumbers = for n in nums do n;
writeln(KennyRogers);
主要生产运行时错误
Kenny.chpl:8: error: zippered iterations have non-equal lengths
我不知道肯尼将有多少幸运数字必须提前,我不能在那个时候实例肯尼。那就是,我必须稍后分配它们。另外,我需要知道什么时候握住它们,知道何时折叠它们。
帮助解释:你得到这个错误的原因是分配给luckyNumbers在你的程序中被有效地解释为:'for(ln,n)in zip(KennyRogers.luckyNumbers,nums)do ln = n“并且由于luckyNumbers的大小为0,'nums'大概没有,所以这是一个拉链不同的大小/长度 – Brad