как юзатьcase в js, так почувствовал себя дураком полным, что раньше не вникал (в луа же нет их?)
Case в смысле switch? Не, в луа switch отсутствует. Там много чего нет, что бы очень хотелось. Ну, что поделать, "нет в жизне щасья". Я вот писал (скорее, мучился) на предметно-ориентированном языке, в котором не было ни одного вида циклов. Поддержка баз данных была, подержка родной геометрии была, даже модульность была, а вот циклов не было. Только метки и безусловный переход. И всё, жуй, не обляпайся. Ничего, не помер, писал как-то. Правда, потом туда python подвезли и про то сатанинское поделие я почти позабыл. "Reaper DAW" - прикольно, куда только луа не воткнули.
Есть тернарники: local a = "foo" local v = 100500 v = a == "foo" and (v + 1) or a == "bar" and (v - 1) or a == "baz" and 0 or -1 Или таблицы-свитчи: local switch = { ["foo"] = function(v) return v + 1 end, ["bar"] = function(v) return v - 1 end, ["baz"] = function(v) return 0 end, } local a = "foo" local v = 100500 v = switch[a] and switch[a](v) or 0
Обсуждают сегодня