Оператор Switch в Lua
Жить не могу без этого оператора. Даже для 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[значение](параметры)
RSS лента комментариев этой записи