Size: a a a

2021 October 12

АК

Александр Караев... in pro.lua
если элемента с ключом нет, просто вернётся nil
источник

RM

Roy Mustang in pro.lua
Ну короче, хз я как объяснить, я хочу понять, есть ли расходы при проверки таблиц через квадратные скобки, допустим, если у нас есть 10000 наименований и каждое из них проверяется в if как на скрине выше, то будет ли каждая проверка при отсутствии в таблице данного имени создавать какие то объекты и кушать память?
источник

RM

Roy Mustang in pro.lua
То есть, никакие объекты в lua стеке не будут создаваться
источник

CP

Companion Philipp in pro.lua
Нет, это не Перл с автовификацией по неосторожности
источник

RM

Roy Mustang in pro.lua
Другой вопрос, касаемо безопасности
источник

S

Snusmumriken in pro.lua
Новые объекты создаются при использовании оператора "=".
Особенно a = {} и b = function() end а так же c = "foo" .. "bar".
источник

RM

Roy Mustang in pro.lua
источник

RM

Roy Mustang in pro.lua
HandleChat вызывается когда игроки пишут в чат сообщения
источник

RM

Roy Mustang in pro.lua
Тут уязвимость в том, что если игрок пошлет в чат %s %d или другие спец символы, то вылетит исключение
источник

S

Snusmumriken in pro.lua
Правильно
источник

RM

Roy Mustang in pro.lua
Да, это поведение логично, но вот это
print(string.format("Hello %s, %s", "world", message))
источник

RM

Roy Mustang in pro.lua
С хера ли это тоже уязвимо?
источник

RM

Roy Mustang in pro.lua
Ведь message теперь используется как аргумент и выводится как строка
источник

S

Snusmumriken in pro.lua
В сишке та же фигня.
источник

RM

Roy Mustang in pro.lua
а форматирующей строкой является fmt
источник

RM

Roy Mustang in pro.lua
точнее первый аргумент
источник

S

Snusmumriken in pro.lua
В первой строке у тебя шаблон.
источник

S

Snusmumriken in pro.lua
Выдавать юзерам шаблон на редактирование — это странно )
источник

RM

Roy Mustang in pro.lua
Не понял, в смысле шаблон
источник

S

Snusmumriken in pro.lua
В прямом, шаблон куда надо набить аргументы.
источник