Gul*_*van 6 arrays haxe neko multidimensional-array
我正在写Haxe并以Neko为目标.今天我遇到了这个问题:
var a:Array<Array<Int>> = new Array<Array<Int>>();
a[1] = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)
第二行抛出"无效的数组访问"异常.也不可能像这样迭代行:
for (i in a[0]) ...
Run Code Online (Sandbox Code Playgroud)
像这样的代码总是运行正常,但不是今天的代码.这可能是什么问题?我试图访问的单元格和行保证存在(如果谈论索引).
这个问题不是Neko特有的:= new Array<Array<Int>>() 只初始化外部数组 - 它相当于写作= [].因为它是一个空数组,所以任何访问都将超出范围并返回null.
对于您的特定示例,= [[], []]将修复错误(使用两个内部数组初始化数组).如果您事先知道需要的内部数组的数量,那么数组理解是一种方便的初始化方法:
var a:Array<Array<Int>> = [for (i in 0...numInnerArrays) []];
Run Code Online (Sandbox Code Playgroud)