2012-04-22 18 views
9

Wie wird man sich von allen Konstanten, Objekten und dergleichen verabschieden, die in und irb definiert sind, um zu einem sauberen Slate zurückzukehren? By "in", ich meine, ohne Unterabsprachen zu manipulieren.Zurücksetzen der IRB-Konsole

+4

beenden und neu starten? 'irb' ist nicht gerade schwer genug, um sich darum zu kümmern, es neu zu starten. –

Antwort

32

Typ

exec($0) 

in Ihrer irb Konsolensitzung.

+3

+1 LOL, tolle Antwort. Und speichern Sie ein Zeichen und Ihre Shift-Taste mit 'exec $ 0' – DigitalRoss

+1

' exec __FILE__' wäre besser, da es auch alle mit IRB gezogenen Skripte neu lädt: gib 'exec $ 0' in' rails console', und du wirst sehen, was ich bedeuten. Diese Befehle behalten jedoch keine Optionen bei, die bei der Ausführung von 'irb' (z. B. 'irb --prompt simple') übergeben wurden, und sie werden beide in einer Untersitzung fehlschlagen. – fny

+2

Ziemlich clever. Natürlich bin ich mir nicht sicher, ob das schneller ist als Strg + D, ↑, Enter. –

2

Ich benutze Fedora 16, exec $ 0 nicht für mich arbeiten. aber ich fand den Weg unter:

STRG + L oder System ("clear") oder System ("Reset")

+0

'System (" Befehl ")' führt tatsächlich den 'Befehl' in einer Untershell aus. Die man-Seiten sagen uns, dass 'clear' einfach" den Terminalbildschirm löscht ". Während "Reset" mit ein paar mehr Schnickschnack kommt, gibt es immer noch nur eine oberflächliche Veränderung. Alles, was in der IRB-Sitzung instanziiert wird, lebt weiter im Speicher. Der Vorschlag von Sunny J führt geschickt den Befehl aus, mit dem in erster Linie in IRB gesprungen wird. Ich bin jedoch ein wenig verwirrt, warum du Schwierigkeiten hattest. Welche Ausgabe sehen Sie auf 'puts $ 0'? – fny

+0

Sie haben Recht, Mann. – lzj509649444

Verwandte Themen