Подтвердить что ты не робот

Почему Lua по умолчанию использует глобальные переменные?

Мой любимый язык в эти дни - Lua. У меня есть только одна проблема, почему на самом деле это поведение по умолчанию, что переменные в функциях глобальны? На подобном языке Icon есть ключевое слово "global", которое используется, когда вы действительно хотите использовать глобальное, а не естественное поведение по умолчанию для локального (я был укушен этим еще пять минут назад). Я бы чувствовал себя лучше об этом, если бы кто-нибудь мог сказать мне рациональное позади него (например, трудности, которые, как я знаю, связаны с отсутствием ключевого слова "продолжить" в Lua).

4b9b3361

Ответ 1

См. Почему переменные не имеют локальной области видимости по умолчанию? в УФА Луа.

Безусловно, легко явно объявить глобальные переменные, только когда они находятся в локальном контексте. Короткий ответ: Lua - это не Python, но на самом деле есть веские причины, по которым локальные переменные с лексической областью должны быть явно объявлены. Смотрите вики-страницу.