【发布时间】:2017-06-26 16:03:14
【问题描述】:
我在将我的程序从 C# 移植到 Lua 时遇到问题,
有时,我需要检查二维数组的长度。在 C# 中,我使用的是这个:
testMap.GetLength(0)
或
testMap.GetLength(1)
用于检查其他尺寸长度。我找到了使用类似
的解决方案#testmap
或类似的,但我根本无法让它工作。 以防万一,我正在使用这个数组:
`local testMap = {
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1 },
{ 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1 },
{ 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 },
{ 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
};`
【问题讨论】:
-
#testMap- 维度数和#testMap[1]第一个数组的长度。 -
#testMap -2 #testMap[1]?我不能让它这样工作 -
那么你没有提供正确的 Lua 代码。可能是您使用了一些重新定义 len 运算符的自定义数组类。对于你的例子,我得到了
#testMap = 22和 `#testMap[1]=12`,正如预期的那样。 -
我的错!我误解了你告诉我的内容。有用!这正是我所需要的,谢谢!
标签: multidimensional-array lua