¿Cómo suprimir la salida del valor devuelto en la consola IRB/Rails?


Un ejemplo es si entro en IRB y hago lo siguiente:

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

¿Hay de todos modos para suprimir el nil? El problema es que si pongo en una gran estructura de datos, spams algo otro retorno irrelevante responder. Estoy más interesado en ver la salida de las declaraciones de depuración que corro a través de un bloque y tengo que desplazarse continuamente hacia arriba y buscar los datos reales.

Author: Andrew Marshall, 2012-04-14

3 answers

Si solo desea suprimir la salida larga de vez en cuando, use ;0, como:

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

Si desea suprimirlo en general, utilice ~/.irbrc archivo. El IRB.conf [: INSPECT_MODE] e IRB.conf [: PROMPT] [your_prompt] [: RETURN] controla lo que se devuelve. Puedes averiguar cuál es tu_prompt marcando 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 eso ayude.

 50
Author: apeiros,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-14 02:56:48

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

Encuentre lo 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"
>> 

Espero que te parezca bien.

Estoy usando la versión de ruby de la siguiente manera :

@ubuntu:~$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
 16
Author: Arup Rakshit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-15 22:04:56

De @ Tallboy enlace muerto

Para suprimir el valor devuelto en la consola de Rails, escriba
conf.return_format = ""

Por defecto (Muestra el valor devuelto)
conf.return_format = "=> %s\n"

 6
Author: Ivan Chau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-26 09:43:27