如何在Lua中显示2D数组

这个可行:

mt = {}          -- 创建矩阵
    for i=1,5 do
     mt[i] = {}     -- 创建一个新行
      for j=1,3 do
        mt[i][j] = j
        print(i,j)
      end
    end

但这个不行

mt = {}          -- 创建矩阵
    for i=1,5 do
     mt[i] = {}     -- 创建一个新行
      for j=1,3 do
        mt[i][j] = j
        print(i,j)
        print mt([i][j])
      end
    end

并且会产生错误

附近预期的“=”值 'mt' 

使用这个声明

print(i,j,mt([i][j]))

会产生这个错误

附近出乎意料的符号 '['

我阅读过这个线程 如何在Lua中显示数组元素?

但我的问题更多地涉及正确的语法。

点赞
用户4268196
用户4268196

问题在于左括号应该紧跟着 Print 而不是在 mt 后面,所以你需要移动括号,改为:

print(mt[i][j])

完整的代码片段如下:

mt = {}          -- 创建矩阵
for i=1,5 do
 mt[i] = {}     -- 创建新行
  for j=1,3 do
    mt[i][j] = j
    print(i,j)
    print(mt[i][j])
  end
end

你可能只是打了个简单的错字,但是如果不是的话,解释(你可能已经知道)是函数 print() 传递参数 mt[i][j]mt (变量)也是参数的一部分。

2015-06-23 21:00:29