2017-01-27 23 views
0

В сеансе IRB я могу использовать cb (изменить привязку), чтобы ввести объект, но как мне выйти? Если я использую exit, он завершает сеанс IRB.IRB: выйдите из измененной привязки (`cb`), не выходя из всей сессии IRB?

$ irb 
❯ o = Object.new 
=> #<Object:0x007fc8a32258a8> 
❯ cb(o) 
=> #<Object:0x007fc8a32258a8> 
❯ self 
=> #<Object:0x007fc8a32258a8> 
❯ exit 
$ 

В этом отношении, как мне продолжить навигацию по объектам, как только я начну? Я обнаружил, что могу получить доступ к методу cb от любого объекта, в котором я находиюсь, сначала расширяя IRB::ExtendCommandBundle, но есть ли менее утомительный способ?

ответ

1

Ваш лучший выбор - вместо этого использовать pry. Это очень мощный отладчик, который также может использоваться для большинства вещей, для которых используется irb. Я использую его для проверки моего кода и объектов в приложениях rails.

https://github.com/pry/pry

Получить его gem install pry

Тогда вы можете сделать это:

$ pry 
[1] pry(main)> cd "" 
[2] pry(""):1> self 
=> "" 
[3] pry(""):1> exit 
=> "" 
[4] pry(main)> exit 
$ 

вместе с многое, многое другое.

+0

Да! У меня была смутная память об использовании 'cd' в дополнение к' cb'. Должно быть, это был Pry, о котором я думал. – ivan