Форматировщик кода Lua

РазработчикТекст
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

Гид

Форматировщик кода на Lua

Форматировщик кода Lua

Вставьте свой код на Lua и получите чисто отформатированный, равномерно отступленный вариант за один клик. Форматер понимает структуру блоков на Lua (if/then/end, do/end, function/end, repeat/until) и нормализует отступы операторов, не отправляя ваш код куда-либо — всё работает в браузере, поэтому подходит для скриптов собственных игр, прошивок на встроенных устройствах и фрагментов конфигурации.

Как использовать

  1. Вставьте свой исходный код Lua в область ввода или нажмите Попробуйте пример чтобы загрузить пример.
  2. Выберите стиль отступов: 2 пробела (по умолчанию), 4 пробела или табуляции.
  3. Переключать Сохранять комментарии если вы хотите удалить как строки, так и блоки комментариев, а не сохранять их.
  4. Переключать Сжатие нескольких пустых строк чтобы объединить последовательности пустых строк в одну перегородку.
  5. Нажмите Формат. Используйте значок копирования или загрузки, чтобы получить результат.

Возможности

  • Блок-ориентированное отступление – Отслеживает ключевые слова Lua (then, do, repeat, function, end, until, else, elseif) для создания согласованной вложенности.
  • Отступы операторов – Нормализует отступы вокруг =, ==, ~=, .., арифметических и сравнительных операторов, оставляя индексацию таблиц (t.x) и вызовы методов (obj:m()) без изменений.
  • Безопасность строк и комментариев – Длинные строки ([[...]], [=[...]=]) и блоки комментариев сохраняются без изменений; ничего внутри них не переподготавливается.
  • Выбор стиля отступов – 2 пробела, 4 пробела или табуляции.
  • Управление комментариями – Сохранять комментарии или удалять их полностью.
  • Очистка пустых строк – Опциональное сжатие длинных последовательностей пустых строк.
  • Приватность по умолчанию – 100% на стороне клиента, без загрузки, без обхода ИИ.

Кто это для кого

Lua встречается в скриптах игр (Roblox, Love2D, дополнения к World of Warcraft, Garry’s Mod), в встроенных средах (OpenWrt, модули Redis, конфигурации Neovim) и во многих цепочках CI. Если вы часто пишете или проверяете код на Lua, вам нужен быстрый и детерминированный форматер, который не требует локальной инфраструктуры. Вставьте фрагмент из обсуждения в форуме, запроса коллеги или сгенерированной конфигурации и быстро очистите его.

Реклама · УДАЛИТЬ?

Часто задаваемые вопросы

  1. Почему Lua использует end вместо фигурных скобок?

    Lua была разработана с целью встраиваемости и читаемости, поэтому её разработчики выбрали блоки, определяемые ключевыми словами (then/do/repeat ... end, until), вместо символов. Ключевые слова проще сканировать в коротких скриптах и избегают конфликтов с фигурными скобками языка-хозяина, когда исходный код Lua встраивается в строки на C. Стоит отметить, что это приводит к более длинным конструкциям — каждый блок должен явно закрываться, что и делает форматер, правильно определяющий открытие и закрытие блоков, полезным.

  2. Какова разница между короткими и длинными строками в Lua?

    Короткие строки обрамлены одинарными или двойными кавычками и поддерживают экранированные последовательности, такие как \n и \t. Длинные строки используют двойные квадратные скобки ([[...]]) и опциональный знак равенства на уровне ([==[...]==]), чтобы содержать неэкранированные кавычки и переносы строки. Уровень скобок позволяет вкладывать содержимое, которое сама по себе содержит закрывающие скобки — выберите наименьший уровень, который не встречается в вашем тексте.

  3. Как оператор конкатенации .. отличается от + в других языках?

    В Lua оператор + строго числовой — попытка конкатенации строк с помощью + вызывает ошибку. Оператор .. конкатенирует строки (автоматически преобразуя числа в строку) и является праворазрядным, что означает, что a..b..c интерпретируется как a..(b..c). Для больших конкатенаций оператор table.concat быстрее, потому что .. создаёт новую строку на каждом шаге.

  4. Почему Lua имеет как pairs, так и ipairs?

    ipairs итерирует по массивной части таблицы — по ключам 1, 2, 3 и т.д., пока не достигнет nil. pairs итерирует по всем ключам, включая строковые ключи и любые пропуски в последовательности целых чисел. Порядок итерации с pairs не гарантируется, в то время как ipairs всегда идёт в числовом порядке. Выбор правильного варианта — это как вопрос корректности, так и производительности.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?