试着自学Lua;我对此有过类似的疑问,我仍然无法理解如何做到这一点。令我困惑的主要问题是表格与数组。对于下面的代码,我只想检查一个给定的值对着我填充到数组中的值。但是,出了点问题。谢谢你的时间。
valueToCheckFor = 35
sampleArray = {}
for i=30, 49, 1 do
sampleArray[i] = i + 1
print(i)
end
for k = 0, #sampleArray, 1 do
if valueToCheckFor == k then
print(valueToCheckFor .. " is in the array.")
else
print(valueToCheckFor .. " is not in the array.")
end
end
答案 0 :(得分:1)
您sampleArray
不是序列,因为不是从1开始,因此#
无法在其上使用。请参阅http://www.lua.org/manual/5.2/manual.html#3.4.6。
答案 1 :(得分:1)
这是你编写的Lua数组友好代码:
valueToCheckFor = 35
sampleArray = {}
for i=30, 49 do
-- add to end of array
sampleArray[#sampleArray+1] = i + 1
print(i+1)
end
-- check each value in array
for k = 1, #sampleArray do
if valueToCheckFor == sampleArray[k] then
print(valueToCheckFor .. " is in the array.")
else
print(valueToCheckFor .. " is not in the array.")
end
end
答案 2 :(得分:0)
#sampleArray
返回0
,因为您的数组未由1
启动
数组部分是以数字1和1开头的每个键 增加直到第一个值为零