Как включить интерактивный Ruby в мой процесс разработки?

StackOverflow https://stackoverflow.com/questions/144046

  •  02-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь найти лучший способ интегрировать IRB с моей обычной разработкой на ruby.В настоящее время я редко использую IRB в своем коде.Я использую его только для проверки синтаксиса или для того, чтобы попробовать что-то небольшое.

Я знаю, что могу загрузить свой собственный код в ruby как

require 'mycode'

но обычно это не согласуется с моим стилем программирования.Иногда переменные, которые я хочу изучить, находятся вне области видимости или внутри цикла.Есть ли простой способ запустить мой скрипт и зависнуть в определенной точке внутри IRB?Я предполагаю, что я ищу более простой способ отладить мой ruby-код, не нарушая мой ключ F5 (компиляции).

Возможно, более опытный разработчик ruby сможет поделиться со мной более упрощенным методом разработки.

Это было полезно?

Решение

Установите драгоценный камень ruby-debug.Конечно, требуйте этого внутри вашего приложения (только в режиме разработки / тестирования).Теперь вы можете написать "отладчик", в котором вы хотите остановить выполнение.

Как только ваше приложение остановится на вашей точке останова, вы можете ввести "справка", чтобы узнать обо всех командах.Один из них - "irb".Он запускает сеанс IRB, в котором у вас есть доступ ко всем методам в вашем текущем контексте.

Лично я в основном использую p (печать), eval, v i (переменные экземпляра) и v l (локальные переменные).Конечно, n для next и c для continue.

Однако команда для выхода из данного блока / метода у меня никогда не работала.Я никогда не выяснял, почему :-)

Другие советы

Я не склонен использовать irb напрямую так часто, поскольку я, как правило, нахожусь внутри rails и поэтому часто использую скрипт / консоль, но мне нравится использовать ruby debugger (Ruby Debug gem).Это позволяет вам в основном установить точку останова, а затем пошагово выполнять ваш код построчно.

Вот скринкаст об этом, который я на самом деле не смотрел, но быстрый поиск выявил его, и он может быть полезен:

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

Для разработки Ruby в Eclipse:теперь доступна значительно улучшенная версия RDT (ruby development tools).Чтобы установить его непосредственно в Eclipse, нажмите переключатель Справка > Обновления программного обеспечения > Найти и установить > Поиск новых функций > далее > новый удаленный сайт > Имя = Ruby и URL = http://update.aptana.com/update/rdt/3.2/

Другим плагином Ruby является блестящий новый Eclipse DLTK (dynamic languages toolkit).Стабильный выпуск DLTK 1.0.M5 вышел всего несколько дней назад.Вот некоторые из них полезные советы по установке.

Я просто использую rdebug для отладки любого моего кода ruby или RoR.

Если вы готовы использовать IDE для отладки, я знаю Затмение (через Инструменты разработки Ruby) имеет относительно простой интерфейс.Если вы используете rails, то существует конкретная сборка eclipse под названием Рельсы который также может помочь (хотя я не использовал его для отладки)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top