Lua Tips & Tricks [Черновик] |
1 | ||
* Для новичков ** Для тех кому не лень разбираться *** Для продвинутых новичков Оптимизация ** Получение цифры из числа Для получения определенной цифры в числе используйте формулу Code Lua 1 (n % 10^(l + 1 - i) - i % (l - i)) / 10 ^ (l - i)
Если интересно как работает формула Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 --[[ Использование преобразования в строку в 8 раз медленнее : Code Lua 1 tostring(n):sub(i,i) * Отпимизация pairs() Вместо ипсользования Code Lua 1 2 3 for i, v in pairs(table) do Лучше писать Code Lua 1 2 3 for i, v in next, table do Результат тот же, но работает немного быстрее Обьяснение в теме от Bolodefchoco : [url=ССЫЛКА]ССЫЛКА[/url] *** Локальные переменные Локальные переменные существуют в пределах одного блока, вне его пределах они удалаются Code Lua 1 2 3 4 5 do -- Какой-то блок, например for ... do ... end или if ... then ... end и т.д Code Lua 1 2 3 4 5 6 local a = 20 Code Lua 1 2 3 4 5 do Code Lua 1 2 3 4 5 6 local a ** Ссылки на таблицы Тут проще показать Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- Код для определения игрока с большис кол-вом очков Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- Код для определения игрока с большис кол-вом очков Не самый лучший пример, но я думаю, вы поняли ** table.insert table.insert делает кучу не нужных действий, просто чтобы добавить значение в таблицу Его стоит использовать, только, если вам необходимо вставить значение в середину или в начало таблицы, со сдвигом остальных значений, но все же мне еще ни разу это не пригодилось, так что используйте лучше Code Lua 1 table[#table + 1] = ... Code Lua 1 2 3 4 5 local table, counter = {}, 1 Code Lua 1 2 3 4 local table, counter = {}, 1 ** Конкатенция строк Если говорить кратко, то там где возможно, лучше использовать table.concat, вместо .. И легче, и быстрее Так не надо Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 local t = { Code Lua 1 2 3 4 5 6 7 8 9 local t = { Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 local t = { Остальное * table.foreach В последних версиях луа table.foreach удален, но не в тфм, обычно его используют один раз и следующим образом Code Lua 1 2 3 4 5 function eventNewPlayer(playerName) Если не лень напишу
|
0 | ||
ok fk this thread ill translate one from lua wiki instead so this will lean there for until this forum dies |
0 | ||
Гайд по форматированию текста был бы интересен |