Поиск…


Поиск элемента в списке

Там нет встроенного способа поиска списка для определенного элемента. Однако программирование в Lua показывает, как вы можете создать набор, который может помочь:

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

Затем вы можете поместить свой список в Set и test для членства:

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

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

Использование таблицы в качестве набора

Создать набор

 local set = {} -- empty set

Создайте набор с элементами, установив их значение в 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'

Добавить участника в набор

добавьте элемент, установив его значение в true

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

Удалите элемент из набора

  set.apple = nil

Использование nil вместо false для удаления «apple» из таблицы предпочтительнее, потому что это упростит итерационные элементы. nil удаляет запись из таблицы, а false ее значение.

Тест членства

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

Перейдем к элементам в наборе

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow