Форматтер кода на Ruby

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

Гид

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

Форматтер кода на Ruby

Вставьте свой код на Ruby и мгновенно переформатируйте его в соответствии со стандартным стилем Ruby: отступы в 2 пробела, единообразное расстояние между операторами, удаление лишних пробелов в конце строк и улучшенная структура блоков. Форматирование работает полностью в вашем браузере, поэтому ваш код никогда не покидает ваш компьютер.

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

  1. Вставьте свой исходный код Ruby в область ввода или нажмите Попробуйте пример чтобы загрузить пример.
  2. Выберите размер отступа (по умолчанию в Ruby-сообществе — 2 пробела).
  3. Переключать Сортировать require / require_relative если вы хотите переставить импортный блок по алфавиту.
  4. Переключать Вставлять пустую строку между определениями методов для более чистых тел классов.
  5. Нажмите Формат, затем скопируйте или загрузите результат.

Возможности

  • Стандартный стиль Ruby – отступы в 2 пробела, отсутствие табуляции, отсутствие лишних пробелов в конце строки.
  • Отступы операторов – единообразное расстояние между =, =>, операторами сравнения и присваивания.
  • Блок-ориентированный отступ – распознаёт class, module, def, if, case, begin, do, и соответствующие end/} — единственные метасимволы. Нет синтаксиса для количественных выражений, нет анкеров, нет поиска вперед/назад и нет ссылок на группы. Реализации обычно переводят глобальный шаблон в регулярное выражение внутренне, но пользователи не обязаны думать в терминах регулярных выражений. Глобальный шаблон намеренно прост, чтобы командные строки оставались короткими и предсказуемыми.
  • Безопасность относительно heredoc<<~, <<-, и чистые тела heredoc сохраняются без изменений, чтобы многострочные строки оставались неизменными.
  • Ориентированный на модификаторы – лишние if, unless, whileи until на одной строке не рассматриваются как открытие блока.
  • Опциональная сортировка require – алфавитизировать блок require/require_relative в начале файла.
  • Опциональное расстояние между методами – вставить пустую строку между соседними определениями методов для улучшения читаемости.
  • Приватность на первом месте – всё происходит в браузере, без загрузки, без логирования.

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

  1. Почему отступы в 2 пробела считаются стандартом в Ruby?

    Общее сообщество Ruby утвердилось на отступах в 2 пробела уже с ранних времён благодаря руководству по стилю Ruby и начальным настройкам RuboCop. Отступы в 2 пробела делают глубоко вложенные блоки (закрытия внутри итераторов, вложенные классы, ветви в case) компактными горизонтально, что соответствует предпочтению Ruby к коротким методам и выражительной синтаксису блоков. Большинство популярных проектов на Ruby, включая Rails, следуют этому правилу.

  2. Какова разница между do...end и блоками в фигурных скобках?

    Функционально, do...end и { ... } описывают один и тот же конструкт — блок, передаваемый методу — но они ведут себя по-разному из-за приоритета операторов. do...end привязывается слабо (поэтому arr.each do |x| ... end.size вызывает .size на результате each, а не на возвращаемом значении блока), в то время как { ... } привязывается к ближайшему вызову метода. Стильные руководства обычно оставляют фигурные скобки для однолинейных блоков и do...end для многострочных блоков.

  3. Как работает модификаторная форма в Ruby для if и unless?

    Ruby позволяет размещать условие после оператора, например return nil if value.nil?. Это называется модификаторной формой. Это синтаксически одно выражение, а не блок, поэтому не требует end. Модификаторная форма читается естественно для коротких условий, но в целом избегается при сложных условиях, где более понятным является многострочный if блок.

  4. Что такое heredoc и почему предпочтительны косые heredoc?

    Heredoc — это многострочная строка, открывающаяся с <<TAG и закрывающаяся строкой, содержащей только TAG. Простой <<TAG требует, чтобы закрывающий тег начинался с нулевого столбца, что конфликтует с отIndented кодом. <<-TAG позволяет закрывающему тегу быть отIndented, но сохраняет каждую строку тела без изменений. <<~TAG (косой heredoc, добавленный в Ruby 2.3) удаляет наименьшее общее ведущее отступление из каждой строки тела, поэтому строка может соответствовать отступу окружающего кода без вливания пробелов в результат.

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

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

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

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

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

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

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

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

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

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

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