Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to suppress the output of return value in IRB/Rails Console?

An example is if I go into IRB and do the following:

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

Is there anyway to suppress the nil? The problem is if I put in a large data structure, it spams something an other irrelevant return respond. I'm more interested in seeing output from debug statements I run through a block and have to continually scroll up and look for the real data.

like image 280
randombits Avatar asked Apr 14 '12 02:04

randombits


3 Answers

If you just want to suppress long output once in a while, use ;0, like:

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

If you want to suppress it generally, use the ~/.irbrc file. The IRB.conf[:INSPECT_MODE] and IRB.conf[:PROMPT][your_prompt][:RETURN] control what is returned. You can figure out what your_prompt is by checking IRB.conf[:PROMPT_MODE]

Example:

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

You'll need to restart irb after changing the value.

Hope that helps.

like image 81
apeiros Avatar answered Sep 20 '22 19:09

apeiros


You can also supress the output with the following command as irb --simple-prompt --noecho.

Find the below:

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

Hope you will be fine with it.

I am using ruby version as below :

@ubuntu:~$ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] 
like image 40
Arup Rakshit Avatar answered Sep 20 '22 19:09

Arup Rakshit


From @Tallboy dead link

To suppress the return value in Rails console, enter
conf.return_format = ""

Default (Print the return value)
conf.return_format = "=> %s\n"

like image 42
Ivan Chau Avatar answered Sep 20 '22 19:09

Ivan Chau