Germany | Finland | Saint Petersburg | Drive

Оператор Switch в Lua

Опубликовано в QLua

Жить не могу без этого оператора. Даже для QPILE пришлось его сделать: Оператор Switch для QPILE. В Lua оператора выбора штатно тоже нет. Но есть масса способов его реализовать средствами самого языка.

 


Больше всего мне по душе самый простой и наиболее эффективный способ, использующий встроенный в язык механизм таблиц.

Создаем таблицу и для каждого значения ключа указываем функцию, выполняющие необходимые нам действия:

action = {
  [1] = function (x) print(1) end,
  [2] = function (x) z = 5 end,
  ["random value"] = function (x) print(math.random()) end,
  ["my name"] = function (x) print("s_mike") end,
}

Теперь все просто. Просто вызываем к исполнению нужный нам элемент таблицы по его ключу. Значение - это название ключа, параметры - это фактические параметры для вызова нужной функции. 

action[значение](параметры)

Добавить комментарий


Защитный код
Обновить

Архив QLua