Suche…


Suchen Sie nach einem Artikel in einer Liste

Es gibt keine integrierte Möglichkeit, eine Liste nach einem bestimmten Element zu durchsuchen. Programmieren in Lua zeigt jedoch, wie Sie ein Set erstellen können, das helfen kann:

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

Dann können Sie Ihre Liste in das Set aufnehmen und auf Mitgliedschaft testen:

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

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

Tabelle als Set verwenden

Set erstellen

 local set = {} -- empty set

Erstellen Sie einen Satz mit Elementen, indem Sie deren Wert auf 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'

Fügen Sie dem Set ein Mitglied hinzu

Fügen Sie ein Mitglied hinzu, indem Sie seinen Wert auf true

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

Entfernen Sie ein Mitglied aus dem Satz

  set.apple = nil

Die Verwendung von " nil anstelle von " false zum Entfernen von "Apfel" aus der Tabelle ist zu bevorzugen, da iterierende Elemente einfacher werden. nil löscht den Eintrag aus der Tabelle, während bei Einstellung auf false der Wert geändert wird.

Mitgliedschaftstest

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

Elemente über einen Satz iterieren

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow