← Все вопросы

Зачем писать local перед переменной в Lua? Без него же тоже работает

Задан 22 месяца назад1.2к просмотров1 ответ
5

Делаю скрипт в Roblox, пишу:

score = 10
print(score)

Всё работает. А в уроках всё время пишут local score = 10. Зачем это local, если и так норм?

1 ответ

9
✓ Принятый ответ — помог автору

Работает-то работает, но local — это про область видимости переменной, и без него ты делаешь переменную глобальной, что обычно плохо.

local score = 10  -- видна только тут (в этом блоке/функции/скрипте)
score2 = 10       -- глобальная: висит "везде"

Почему local лучше почти всегда:

  • Быстрее: Lua работает с локальными переменными ощутимо шустрее.
  • Безопаснее: глобальные легко случайно перезаписать из другого места, и потом ловишь баг, где число вдруг стало не тем.
  • Понятнее: видно, где переменная "живёт".

Правило простое: пиши local всегда, пока не появилась причина не писать. У новичков такой причины обычно и не появляется.

Ваш ответ

Войдите, чтобы ответить на вопрос.