Szukaj…


Wyszukaj element na liście

Nie ma wbudowanego sposobu przeszukiwania listy konkretnego elementu. Programowanie w Lua pokazuje jednak, jak zbudować zestaw, który może pomóc:

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

Następnie możesz umieścić swoją listę w zestawie i przetestować członkostwo:

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

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

Używanie tabeli jako zestawu

Utwórz zestaw

 local set = {} -- empty set

Utwórz zestaw z elementami, ustawiając ich wartość na 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'

Dodaj członka do zestawu

dodaj członka, ustawiając jego wartość na true

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

Usuń członka z zestawu

  set.apple = nil

Preferowane jest użycie nil zamiast false celu usunięcia „jabłka” ze stołu, ponieważ ułatwi to iterację elementów. nil usuwa wpis z tabeli, a ustawienie wartości false zmienia jego wartość.

Test członkostwa

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

Iteruj po elementach w zestawie

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow