2013-10-21 31 views
3

Enumerable :: each的返回值是調用each的對象。禁止Enumerable :: each中的輸出irb

當我在irb裏面時,這真的很煩人,因爲我得到了巨大的輸出。
是否可以抑制irb中的Enumerable :: each的返回值?

例如,這

>> [1,2].each {|u| puts "hey"} 
hey 
hey 
=> [1, 2] 

我想這

[1,2].each {|u| puts "hey"} 

輸出擺脫最後一行

回答

5

說起來很簡單的。

只需在Ruby中的語句/表達式末尾添加一個分號(;),它的返回值您不想看到,並且還會添加nil

讓它:

[1,2].each {|u| puts "hey"}; nil 

但請注意,沒有理由打壓irb輸出(除了當返回值太大/大量的文字的);它在調試中很有幫助,並且知道該功能究竟發生了什麼。

+0

這使得IRB等待另一條線,追加',對我nil'工作。 – Stefan

+1

謝謝。你是對的。我在'pry'中發佈之前就已經嘗試過了,它完全適用於';'。剛剛嘗試過'irb'和'nil'需要 – kiddorails

+1

爲了提高速度,'[1,2] .each {| u |放「嘿」}; 0'也很好。甚至是'![1,2] .each {| u |放「嘿」}'。 – Borodin

1

添加--noecho標誌。

工作原理:

$ irb --noecho