2017-01-27 4 views
0

In einer IRB-Sitzung kann ich cb (Bindung ändern) verwenden, um ein Objekt einzugeben, aber wie komme ich raus? Wenn ich verwende, wird die gesamte IRB-Sitzung beendet.IRB: eine geänderte Bindung (`cb`) beenden, ohne die gesamte IRB-Sitzung zu beenden?

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

Für diese Angelegenheit, wie die Navigation ich weiterhin Objekte, sobald ich angefangen habe? Ich habe festgestellt, dass ich auf die cb Methode von dem Objekt zugreifen kann, indem ich zunächst IRB::ExtendCommandBundle erweitere, aber gibt es eine weniger langweilige Art und Weise?

Antwort

1

Ihre beste Wette könnte sein, statt dessen zu verwenden. Es ist ein sehr leistungsfähiger Debugger, der auch für die meisten Dinge verwendet werden kann, für die irb verwendet wird. Ich benutze es für die Überprüfung meines Codes und Objekte in Rails Apps.

https://github.com/pry/pry

Holen Sie es mit gem install pry

Dann können Sie dies tun:

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

Zusammen mit viel, viel mehr.

+0

Ja! Ich hatte eine vage Erinnerung an die Verwendung einer 'cd' zusätzlich zu' cb'. Das muss Pry gewesen sein, an den ich gedacht habe. – ivan

Verwandte Themen