2012-03-04 9 views
5

Quando si incolla questo codice in irb prompt ottengo l'elenco della directory corrente dopo riga if true.Stran comportamento irb, elenco contenuto directory corrente

def some_method() 

    if true 
     raise StandardError 
    end 

end 

Esempio di emissione:

irb(main):151:0> def some_method() 
irb(main):152:1> 
irb(main):153:1* if true 
irb(main):154:2> 
.Skype/       .m2/        Desktop/ 
... 

Io uso irb 0.9.5(05/04/13) e ruby 1.8.7 (2011-12-28 patchlevel 357).

Si tratta di un bug o qualcos'altro?

+1

questo è molto strano. la sessione continua a funzionare in seguito? –

risposta

4

La seguente riga avrà caratteri di tabulazione in esso:

 raise StandardError 

irb utilizza readline che significa che la chiave scheda è utilizzata per il completamento tab. Doppia scheda ti mostrerà tutte le opzioni disponibili.

Per vedere questo in azione, è sufficiente avviare irb e premere il tasto tab due volte.

Vedere https://superuser.com/questions/37148/how-to-disable-double-tab-to-show-available-commands-in-linux-console per indicazioni su come disattivarlo.

+2

Ciò si traduce in uno dei pro più interessanti ed esoterici dell'utilizzo di schede morbide. –

1

A causa del motivo menzionato da Don Cruickshanks, è necessario impostare l'opzione per convertire le schede in spazi nel proprio editor di testo.

Problemi correlati