2012-03-04 10 views
5

Cuando pego este código en el prompt de irb obtengo el listado del directorio actual después de línea if true.Comportamiento raro de irb, listado del contenido del directorio actual

def some_method() 

    if true 
     raise StandardError 
    end 

end 

Ejemplo de salida:

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

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

¿Esto es un error o algo más?

+1

esto es muy raro. ¿La sesión continúa funcionando después? –

Respuesta

4

La siguiente línea tendrá caracteres de tabulación en ella:

 raise StandardError 

irb utiliza readline lo que significa que la tecla de tabulación se utiliza para la implementación del tabulador. La doble pestaña le mostrará todas las opciones disponibles.

Para ver esto en acción, simplemente inicie irb y presione la tecla de tabulación dos veces.

Consulte https://superuser.com/questions/37148/how-to-disable-double-tab-to-show-available-commands-in-linux-console para obtener instrucciones sobre cómo deshabilitarlo.

+2

Esto se traduce en una de las ventajas más interesantes y esotéricas del uso de pestañas suaves. –

1

Debido a la razón por la que Don Cruickshanks mencionó, debe establecer la opción de convertir pestañas en espacios en su editor de texto.

Cuestiones relacionadas