Как включить Interactive Ruby в мой процесс разработки? - PullRequest
6 голосов
/ 27 сентября 2008

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

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

require 'mycode'

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

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

Ответы [ 5 ]

10 голосов
/ 28 сентября 2008

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

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

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

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

2 голосов
/ 27 сентября 2008

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

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

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

1 голос
/ 11 февраля 2009

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

Еще один плагин Ruby - это великолепный новый Eclipse DLTK (инструментарий динамических языков). DLTK стабильная версия 1.0.M5 только что вышла несколько дней назад. Вот несколько полезных советов по установке .

0 голосов
/ 27 сентября 2008

Если вы хотите использовать IDE для отладки, я знаю, Eclipse (через Ruby Development Tools ) имеет относительно простой интерфейс. Если вы выполняете рельсы, то есть специальная сборка Eclipse под названием RadRails , которая также может помочь (хотя я не использовал ее для отладки)

0 голосов
/ 27 сентября 2008

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

...