Lua检查数组元素的值

时间:2014-04-08 19:52:25

标签: arrays lua lua-table

试着自学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

3 个答案:

答案 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开头的每个键   增加直到第一个值为零

https://stackoverflow.com/a/9613573/1198482