Lua | Нужна подсказка

Looney Koldyin

Участник
Автор темы
33
6
Не могу сформулировать по человечески вопрос чтобы гугл меня понял, в общем мне нужно уточнить, можно ли как-то без цикла (for while и т д) узнать есть ли элемент в массиве, что бы не тратить время на иттерирование по массиву типа знаете как:
allColors = { Red, Blue, Green }
if color from allColors then там что-то...
 
Решение
Lua:
colors = {green=true, red=true, white=true}

if colors.red then
    print('есть')
end

Либо парсить, сделать это можно например таким образом
Lua:
function Set(list)
  local set = {}
  for _, l in ipairs(list) do set[l] = true end
  return set
end

local items = Set{"green", "red", "white"}

if items["red"] then
    print('есть')
end

Fott

Простреленный
3,436
2,281
Lua:
colors = {green=true, red=true, white=true}

if colors.red then
    print('есть')
end

Либо парсить, сделать это можно например таким образом
Lua:
function Set(list)
  local set = {}
  for _, l in ipairs(list) do set[l] = true end
  return set
end

local items = Set{"green", "red", "white"}

if items["red"] then
    print('есть')
end
 
Последнее редактирование:
  • Нравится
Реакции: Looney Koldyin

Looney Koldyin

Участник
Автор темы
33
6
Lua:
colors = {green=true, red=true, white=true}

if colors.red then
    print('есть')
end

Либо парсить, сделать это можно например такой таким образом
Lua:
function Set(list)
  local set = {}
  for _, l in ipairs(list) do set[l] = true end
  return set
end

local items = Set{"green", "red", "white"}

if items["red"] then
    print('есть')
end
cпасибо за помощь!