2012-04-22 19 views
9

Jak można się pożegnać ze wszystkimi stałymi, obiektami itp., Zdefiniowanymi jako w i irb, aby powrócić do czystej klapki? Przez "w" mam na myśli bez manipulowania podsesjami.Resetuj konsolę IRB

+4

Zamknij i uruchom ponownie? 'irb' nie jest na tyle ciężki, aby martwić się ponownym uruchomieniem. –

Odpowiedz

32

Rodzaj

exec($0) 

w sesji konsoli IRB.

+3

+1 LOL, niesamowita odpowiedź. I zapisz znak i klucz shift z 'exec $ 0'' – DigitalRoss

+1

' exec __FILE__' będzie lepszy, ponieważ przeładuje on wszystkie skrypty wciągnięte za pomocą IRB: wpisz 'exec $ 0'' 'rails console', a zobaczysz, co ja oznaczać. Jednak te polecenia nie obsługują żadnych opcji, które zostały przekazane podczas wykonywania 'irb' (na przykład' irb --prompt simple'), a oba te elementy zawiodą w podsesjach. – fny

+2

Bardzo sprytny. Oczywiście nie jestem pewien, czy jest to szybsze niż CTRL + D, ↑, wprowadź. –

2

Używam Fedory 16, exec $ 0 nie działają dla mnie. ale znalazłem drogę poniżej:

Ctrl + L lub system ("clear") lub system ("reset")

+0

'system (" command ")' faktycznie wykonuje 'polecenie' w podpowłoce. Strony man mówią nam, że 'clear' po prostu" wyczyści ekran terminala ". Podczas gdy 'reset' pojawia się z kilkoma innymi dzwonkami i gwizdkami, wciąż daje tylko powierzchowną zmianę. Wszystko, co powstało w sesji IRB, nadal pozostaje w pamięci. Sugestia Sunny J sprytnie wykonuje polecenie użyte do skoku do IRB w pierwszej kolejności. Jestem jednak nieco zdziwiony, dlaczego miałeś kłopoty. Jakie dane wyjściowe widzisz na "umieszcza $ 0"? – fny

+0

masz rację, stary. – lzj509649444