2012-04-14 106 views
29

一個例子是,如果我去到IRB並執行以下操作:如何在IRB/Rails控制檯中抑制返回值的輸出?

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

反正是有抑制nil?問題在於,如果我放入一個大型數據結構,它會傳播一些其他不相關的回覆響應。我更感興趣的是看到我通過塊運行的調試語句的輸出,並且必須不斷地向上滾動並查找真實的數據。

+0

也許試試看s:http://austinruby.com/2006/10/6/quieting-irb-s-return-value – Tallboy 2012-04-14 02:34:18

+0

從下面的解決方案'irb --simple-prompt --noecho'肯定是您最好和最簡單的選擇。 – 2016-04-04 14:14:12

+0

[如何禁止Rails控制檯/ irb輸出]的可能重複(http://stackoverflow.com/questions/4678732/how-to-suppress-rails-console-irb-outputs) – 2016-11-15 19:52:31

回答

47

如果你只是想在一段時間曾經抑制長時間的輸出,使用;0,如:如果你想一般壓制它,使用〜/ .irbrc文件

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

。 IRB.conf [:INSPECT_MODE]和IRB.conf [:PROMPT] [your_prompt] [:RETURN]控制返回的內容。你可以找出your_prompt是通過檢查IRB.conf什麼[:PROMPT_MODE]

例子:

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

你需要更改值後重新啓動IRB。

希望有所幫助。

16

也可以使用以下命令來禁止輸出,如irb --simple-prompt --noecho

看到以下:

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

希望你將與它的罰款。

我使用如下紅寶石版本:

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

從@Tallboy死鏈接

爲了抑制Rails的控制檯的返回值,輸入
conf.return_format = ""

默認(打印返回值)
conf.return_format = "=> %s\n"