Как (не) выстрелить себе в ногу на Lua / Ярослав Дынников (Tarantool)

preview_player
Показать описание
Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
--------
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем
17 и 18 мая 2021. Москва, Крокус-Экспо

Тезисы и презентация:

Lua — простой язык. Базовые вещи можно выучить минут за 20 без преувеличения. Но несмотря на всю свою простоту, Lua всё-таки может преподнести сюрприз неопытному разработчику. А чтобы писать хороший код, хорошо бы понимать, что происходит за кулисами.
...
--------
Рекомендации по теме
Комментарии
Автор

Большую часть типов можно проверять при помощи LSP. Ассерты ведь влияют на производительность, да и вообще документировать код в LSP-формате очень полезно для его понимания.

W__W
Автор

На вопрос про производительность докладчик почему-то не стал рассказывать про LuaJIT, который всё же не только добавляет CDATA типы...

hgfyos
Автор

Примеры не запускаются! В первом удалось найти ошибку поэтому делюсь

local function hello(name)
print('Hello, ' .. name .. '!')
end

-- поправил вместо names написал name
local name = {'World', 'Highloag', 'Moscow'}

for i, name in pairs(name) do
hello(name)
end

dmitrylevonevsky
Автор



function OnEvent(event, arg)
--OutputLogMessage("Event: "..event.." Arg: "..arg.."\n")
if event == "MOUSE_BUTTON_PRESSED" and arg == then
repeat

Sleep(math.random(30, 60))
until not IsMouseButtonPressed(4)
end
end


(true);
function OnEvent(event, arg)
if IsKeyLockOn("CapsLock")then
if IsMouseButtonPressed(1) then
repeat
MoveMouseRelative(1, 4)
Sleep(20)
until not IsMouseButtonPressed(1)
end
end

end

как совместить эти два кода Аutoclicker no recoil, я написать отдельно не могу в тондеме не получается. Помогите плизз !

MsAndresro