我在使用Lua编程语言显示数组元素时出现问题。基本上,我创建了一个包含3个元素的数组,我试图在电晕sdk模拟器上的for循环中显示其内容。如果我显示各个数组元素(没有循环),它们会显示正常;一旦我将它们放入for循环中,屏幕上就不会出现任何内容
这是我的代码:
myText = {"hello", "world", "there"}
for i = 1, myText do
local myText = display.newText( myText[i], 0, 0, native.systemFont, 35 )
end
答案 0 :(得分:11)
这是我编写的用于列出表中项目的函数(电晕将数组称为“表”)。它类似于PHP的print_r,因此我称之为print_r
您可以将其命名为:
print_r(myTable)
功能:
function print_r(arr, indentLevel)
local str = ""
local indentStr = "#"
if(indentLevel == nil) then
print(print_r(arr, 0))
return
end
for i = 0, indentLevel do
indentStr = indentStr.."\t"
end
for index,value in pairs(arr) do
if type(value) == "table" then
str = str..indentStr..index..": \n"..print_r(value, (indentLevel + 1))
else
str = str..indentStr..index..": "..value.."\n"
end
end
return str
end
答案 1 :(得分:9)
将循环更改为此时会发生什么:
for i = 1, #myText do
local myText = display.newText( myText[i], 0, 0, native.systemFont, 35 )
end
或者这个:
for i, v in ipairs(myText) do
local myText = display.newText( v, 0, 0, native.systemFont, 35 )
end
答案 2 :(得分:0)
为什么不在" table.concat"中打印表格。功能
myText = {"hello", "world", "there"}
print(table.concat(myText,", "))
你好,世界,那里