2012-11-08 38 views
55

如果我循環遍歷給定模型的所有實例並從每個實例輸出一些內容,最後irb仍將打印整個對象。停止導軌控制檯打印循環結束處的對象

如果對象最終需要數百行代碼,那麼在我看到我真正想要的內容之前還有很長的路要走。有沒有辦法在rails控制檯中禁用它?

回答

74

如果您不想在一般情況下禁用回顯,您也可以在一個命令行中調用多個表達式。只有最後一個表達式的輸出將被顯示。

big_result(input); 0 
+2

這實際上是我想要的。 –

+2

非常好,謝謝!很簡單。 – blindsnowmobile

75

致電conf.echo = false並且它不會打印返回值。這適用於任何irb會話,而不僅僅是Rails控制檯。

如果您想永久保存,請將其添加到您的irb配置中。

echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc 
+0

如果您希望默認情況下始終如此,您會做什麼? –

+0

@Accipheran我想把它放在Rails初始化器中就行了。 – lulalala

+0

感謝您的回覆,我實際上發現只是在IRB配置文件[:ECHO] = false'處輸入我的.irbrc文件來處理它。當然,這也是我所有irb會話中的回聲,但我對此沒有問題。 –

24

要暫時從打印您可以發出你的循環或函數的最後一個nil聲明的返回值,但按返回之前停止控制檯。

record.each do |r| 
    puts r.properties 
end; nil 

或者它也可以是一個數字,如果你想減少打字。但是,在我無法想到的情況下,這可能會讓人感到困惑。

record.each do |r| 
    puts r.properties 
end; 0 
+0

這有幫助。謝謝 –