2015-05-09 38 views
0

如何將一個檢查,如果一個詞是不是在一個陣列...例如:如果產品在Lua陣列

fruits = { 'apple', 'banana' } 
value = "carrot" 
if not value == fruits then 
    print (value .. " is not a fruit") 
end 

或類似的東西?我寧願純粹的Lua。

+0

對不起,我不同意。 「Table」包含的值與「array」稍有不同。因爲對於這個問題,我可以給出兩個建議,其中沒有一個是可以接受的。 1.如果它是一個硬編碼數組,比如config,你可以這樣做:'({apple = 1,banana = 1})[value]'。 2.如果它是一個數組,則有相當漂亮但無效的方法:'utils.swapKV(array)[value]' –

回答

1

直接的方式:

local found = false 
for _, v in ipairs(fruits) do 
    if v == value then 
    found = true 
    break 
    end 
end 

if not found then 
    print (value .. " is not a fruit") 
end