Форматтер кода на Ruby
Гид
Форматтер кода на Ruby
Вставьте свой код на Ruby и мгновенно переформатируйте его в соответствии со стандартным стилем Ruby: отступы в 2 пробела, единообразное расстояние между операторами, удаление лишних пробелов в конце строк и улучшенная структура блоков. Форматирование работает полностью в вашем браузере, поэтому ваш код никогда не покидает ваш компьютер.
Как использовать
- Вставьте свой исходный код Ruby в область ввода или нажмите Попробуйте пример чтобы загрузить пример.
- Выберите размер отступа (по умолчанию в Ruby-сообществе — 2 пробела).
- Переключать Сортировать require / require_relative если вы хотите переставить импортный блок по алфавиту.
- Переключать Вставлять пустую строку между определениями методов для более чистых тел классов.
- Нажмите Формат, затем скопируйте или загрузите результат.
Возможности
- Стандартный стиль Ruby – отступы в 2 пробела, отсутствие табуляции, отсутствие лишних пробелов в конце строки.
- Отступы операторов – единообразное расстояние между
=,=>, операторами сравнения и присваивания. - Блок-ориентированный отступ – распознаёт
class,module,def,if,case,begin,do, и соответствующиеend/}— единственные метасимволы. Нет синтаксиса для количественных выражений, нет анкеров, нет поиска вперед/назад и нет ссылок на группы. Реализации обычно переводят глобальный шаблон в регулярное выражение внутренне, но пользователи не обязаны думать в терминах регулярных выражений. Глобальный шаблон намеренно прост, чтобы командные строки оставались короткими и предсказуемыми. - Безопасность относительно heredoc –
<<~,<<-, и чистые тела heredoc сохраняются без изменений, чтобы многострочные строки оставались неизменными. - Ориентированный на модификаторы – лишние
if,unless,whileиuntilна одной строке не рассматриваются как открытие блока. - Опциональная сортировка require – алфавитизировать блок
require/require_relativeв начале файла. - Опциональное расстояние между методами – вставить пустую строку между соседними определениями методов для улучшения читаемости.
- Приватность на первом месте – всё происходит в браузере, без загрузки, без логирования.
Часто задаваемые вопросы
-
Почему отступы в 2 пробела считаются стандартом в Ruby?
Общее сообщество Ruby утвердилось на отступах в 2 пробела уже с ранних времён благодаря руководству по стилю Ruby и начальным настройкам RuboCop. Отступы в 2 пробела делают глубоко вложенные блоки (закрытия внутри итераторов, вложенные классы, ветви в case) компактными горизонтально, что соответствует предпочтению Ruby к коротким методам и выражительной синтаксису блоков. Большинство популярных проектов на Ruby, включая Rails, следуют этому правилу.
-
Какова разница между do...end и блоками в фигурных скобках?
Функционально,
do...endи{ ... }описывают один и тот же конструкт — блок, передаваемый методу — но они ведут себя по-разному из-за приоритета операторов.do...endпривязывается слабо (поэтомуarr.each do |x| ... end.sizeвызывает.sizeна результатеeach, а не на возвращаемом значении блока), в то время как{ ... }привязывается к ближайшему вызову метода. Стильные руководства обычно оставляют фигурные скобки для однолинейных блоков иdo...endдля многострочных блоков. -
Как работает модификаторная форма в Ruby для if и unless?
Ruby позволяет размещать условие после оператора, например
return nil if value.nil?. Это называется модификаторной формой. Это синтаксически одно выражение, а не блок, поэтому не требуетend. Модификаторная форма читается естественно для коротких условий, но в целом избегается при сложных условиях, где более понятным является многострочныйifблок. -
Что такое heredoc и почему предпочтительны косые heredoc?
Heredoc — это многострочная строка, открывающаяся с
<<TAGи закрывающаяся строкой, содержащей толькоTAG. Простой<<TAGтребует, чтобы закрывающий тег начинался с нулевого столбца, что конфликтует с отIndented кодом.<<-TAGпозволяет закрывающему тегу быть отIndented, но сохраняет каждую строку тела без изменений.<<~TAG(косой heredoc, добавленный в Ruby 2.3) удаляет наименьшее общее ведущее отступление из каждой строки тела, поэтому строка может соответствовать отступу окружающего кода без вливания пробелов в результат.
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент was added on Июн 26, 2026
