Zoeken…


Zoek naar een item in een lijst

Er is geen ingebouwde manier om in een lijst naar een bepaald item te zoeken. Programmering in Lua laat echter zien hoe u een set kunt bouwen die kan helpen:

function Set (list)
  local set = {}
  for _, l in ipairs(list) do set[l] = true end
  return set
end

Vervolgens kunt u uw lijst in de Set plaatsen en testen op lidmaatschap:

local items = Set { "apple", "orange", "pear", "banana" }

if items["orange"] then
  -- do something
end

Een tabel gebruiken als set

Maak een set

 local set = {} -- empty set

Maak een set met elementen door hun waarde in te stellen op 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'

Voeg een lid toe aan de set

voeg een lid toe door zijn waarde in te stellen op true

  set.peach = true
  set.apple = true
  -- alternatively
  set['banana'] = true
  set['strawberry'] = true

Verwijder een lid uit de set

  set.apple = nil

Het gebruik van nil plaats van false om 'appel' van de tafel te verwijderen, heeft de voorkeur, omdat iteratie-elementen eenvoudiger worden. nil verwijdert het item uit de tabel terwijl het instellen op false de waarde ervan wijzigt.

Lidmaatschapstest

  if set.strawberry then
      print "We've got strawberries"
  end

Herhaal elementen in een set

 for element in pairs(set) do
     print(element)
 end


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow