Size: a a a

2019 March 05

AG

Alexander Gladysh in Lua in Moscow
источник

AS

Anatoliy Shipitcyn in Lua in Moscow
Четвертый вопрос прям топовый :)
источник

S

Snusmumriken in Lua in Moscow
Anatoliy Shipitcyn
Четвертый вопрос прям топовый :)
В запатченной версии у меня на работе есть нормальный continue и замена try-catch. Но тут патчить надо, к тому же, несовместимость патчей с новыми версиями (>5.1), и несовместимость кода с официалкой :<
Но типа если очень хочется — то можно.

Не забываем и про классику 5.2+/jit: goto continue.
Но да, несовместимость и делает код грязнее.
источник

AG

Alexander Gladysh in Lua in Moscow
Патчить Луа — плохая карма.
источник

S

Snusmumriken in Lua in Moscow
Этот вопрос не ко мне, плюс "разработки для внутренних нужд".
Переделывать оригинальную софтину под конкретный закрытый проект — норма.
источник

SC

Sarcastic Cat in Lua in Moscow
Роберто же уже отвечал, почему нет continue
источник

S

Snusmumriken in Lua in Moscow
Потому что есть goto : )
источник

VZ

Vadim Zborovskii in Lua in Moscow
Sarcastic Cat
Роберто же уже отвечал, почему нет continue
Кстати, какой ответ?
источник

SC

Sarcastic Cat in Lua in Moscow
источник

VZ

Vadim Zborovskii in Lua in Moscow
goto, конечно, considered harmful, но поругаться на метки с их особым лексисом намного проще, чем выискивать continue по коду.
источник

AS

Anatoliy Shipitcyn in Lua in Moscow
continue кстати говоря если немного подумать часто может и не требоваться
источник

AS

Anatoliy Shipitcyn in Lua in Moscow
просто достаточно немного подумать
источник

AS

Anatoliy Shipitcyn in Lua in Moscow
А вот с goto надо аккуратным быть
источник

VZ

Vadim Zborovskii in Lua in Moscow
continue по сути тот же нелокальный переход и ничем не лучше goto
источник

VZ

Vadim Zborovskii in Lua in Moscow
как и return из глубины функции
источник

S

Snusmumriken in Lua in Moscow
Anatoliy Shipitcyn
А вот с goto надо аккуратным быть
Замена continue — достаточно аккуратное использоание.
Если стараться минимизировать вложенность и писать от противного — самое то.

for i, v in ipairs(list) do
 -- checks
 if type(v.foo) ~= 'table' then
   goto continue
 end

 if not v.foo.bar or not v.foo.fobar then
   goto continue
 end

 -- all-fine code
 local str = tostring
 v.foobar = str(v.foo.bar) .. str(v.foo.fobar)
 ::continue::
end

Другое дело что несовместимость с 5.1, и можно заменить функцией, которой обрабатывается каждый элемент списка, где заменить continue ретурнами.
источник
2019 March 07

AG

Alexander Gladysh in Lua in Moscow
Друзья! У кого-нибудь остался чек от обедой в столовой MRG на конференции в воскресенье? Пришлите, пожалуйста, фото таких чеков в личку, очень поможете!
источник

SL

Sergey Laguta in Lua in Moscow
коммандировочные отмываете?))
источник

DK

Dmitry Krokhin in Lua in Moscow
похоже на то ага)
источник

CP

Companion Philipp in Lua in Moscow
Alexander Gladysh
Друзья! У кого-нибудь остался чек от обедой в столовой MRG на конференции в воскресенье? Пришлите, пожалуйста, фото таких чеков в личку, очень поможете!
Остался он только в виде истории операций :)
источник