Sök…
Sök efter ett objekt i en lista
Det finns inget inbyggt sätt att söka i en lista efter ett visst objekt. Men programmering i Lua visar hur du kan bygga en uppsättning som kan hjälpa:
function Set (list)
local set = {}
for _, l in ipairs(list) do set[l] = true end
return set
end
Sedan kan du lägga din lista i Set och testa för medlemskap:
local items = Set { "apple", "orange", "pear", "banana" }
if items["orange"] then
-- do something
end
Använda en tabell som en uppsättning
Skapa en uppsättning
local set = {} -- empty set
Skapa en uppsättning med element genom att ställa in deras värde till true
:
local set = {pear=true, plum=true}
-- or initialize by adding the value of a variable:
local fruit = 'orange'
local other_set = {[fruit] = true} -- adds 'orange'
Lägg till en medlem i uppsättningen
lägg till en medlem genom att ställa in dess värde till true
set.peach = true
set.apple = true
-- alternatively
set['banana'] = true
set['strawberry'] = true
Ta bort en medlem från uppsättningen
set.apple = nil
Att använda nil
istället för false
att ta bort "äpple" från tabellen är att föredra eftersom det kommer att göra iterating element enklare. nil
raderar posten från tabellen medan inställningen till false
ändrar dess värde.
Medlemstest
if set.strawberry then
print "We've got strawberries"
end
Iterera över element i en uppsättning
for element in pairs(set) do
print(element)
end
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow