2012-04-14 7 views
29

Un ejemplo es si entro en el IRB y haga lo siguiente:¿Cómo suprimir la salida del valor de retorno en IRB/Rails Console?

jruby-1.6.7 :026 > puts [1,2,3,4,5] 
1 
2 
3 
4 
5 
=> nil 

¿Hay alguna forma para suprimir el nil? El problema es que si incluyo una gran estructura de datos, espacia algo y responde un retorno irrelevante. Estoy más interesado en ver el resultado de las instrucciones de depuración que ejecuto a través de un bloque y tengo que desplazarme continuamente hacia arriba y buscar los datos reales.

+0

Quizás intente thi s: http://austinruby.com/2006/10/6/quieting-irb-s-return-value – Tallboy

+0

De las soluciones a continuación, 'irb --simple-prompt --noecho' es sin duda su mejor y más simple apuesta. –

+0

Posible duplicado de [Cómo suprimir las salidas de Rails console/irb] (http://stackoverflow.com/questions/4678732/how-to-suppress-rails-console-irb-outputs) –

Respuesta

47

Si lo que desea es suprimir la salida larga de vez en cuando, utilizar ;0, como:

a = [*1..10000];0 
# => 0 

Si desea suprimir por lo general, utilizar el archivo ~/.irbrc. El IRB.conf [: INSPECT_MODE] y el IRB.conf [: PROMPT] [your_prompt] [: RETORNO] controlan lo que se devuelve. Usted puede averiguar lo your_prompt es por el control IRB.conf [: PROMPT_MODE]

Ejemplo:

IRB.conf[:PROMPT][:DEFAULT][:RETURN] = "" # suppress return value completely 

Tendrá que reiniciar IRB después de cambiar el valor.

Espero que ayude.

16

También puede suprimir la salida con el siguiente comando como irb --simple-prompt --noecho.

Encuentra el siguiente:

@ubuntu:~$ irb --simple-prompt 
>> puts "hi" 
hi 
=> nil 
>> p "hi" 
"hi" 
=> "hi" 
>> exit 
@ubuntu:~$ irb --simple-prompt --noecho 
>> puts "hi" 
hi 
>> p "hi" 
"hi" 
>> 

Esperamos que esté de acuerdo con ello.

estoy usando la versión de rubí de la siguiente manera:

@ubuntu:~$ ruby -v 
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] 
4

De @Tallboy vínculo roto

Para suprimir el valor de retorno en la consola de Rails, introduzca
conf.return_format = ""

defecto (imprimir la declaración valor)
conf.return_format = "=> %s\n"

Cuestiones relacionadas