停止rails控制台在循环结束时打印出对象

dsp*_*099 75 ruby console ruby-on-rails irb

比方说,如果我循环遍历给定模型的所有实例并从每个实例输出内容,最后,irb仍将打印整个对象.

如果对象最终需要数百行,那么在我看到我实际需要的内容之前,这将是一个漫长的过程.有没有办法在rails控制台中禁用它?

lul*_*ala 94

调用conf.echo = false它不会打印返回值.这适用于任何irb会话,而不仅仅是Rails控制台.

如果您想使其永久化,请将其添加到您的irb配置中.

echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc
Run Code Online (Sandbox Code Playgroud)


aef*_*aef 94

如果您不想一般禁用回声,也可以在一个命令行中调用多个表达式.仅显示最后一个表达式的输出.

big_result(input); 0
Run Code Online (Sandbox Code Playgroud)

  • 我经常做`big_result(input); 无` (4认同)
  • 这实际上就是我想要的. (2认同)
  • 非常好,谢谢!很简单. (2认同)

Raj*_*rma 33

要暂时停止控制台打印返回值,您可以nil在循环或函数结束时发出语句,但在按下返回值之前.

record.each do |r|
  puts r.properties
end; nil
Run Code Online (Sandbox Code Playgroud)

或者它也可以是一个数字,如果你想减少打字.但它在情景中可能会令人困惑,我无法想到.

record.each do |r|
  puts r.properties
end; 0
Run Code Online (Sandbox Code Playgroud)