1

我不确定这是 Ruby 2.6 的错误或新功能,但自从执行升级 2.3 --> 2.6 后,我的 IRB 终端不再像往常一样运行,无法再隐藏输出。以前当我输入分号时,它会等到收到没有分号的下一条指令才能运行所有代码并用分号隐藏值

2.6.3 :008 > 1 + 1
 => 2
2.6.3 :009 > 1 + 1;
 => 2 
2.6.3 :010 > (1 + 1);
 => 2
2.6.3 :011 > very_large_inspect_result;
 => [console keeps printing for ages)

使用ruby-2.6.3 [ x86_64 ]和 IRB 终端从rails-5.1.6

我该怎么做才能隐藏命令的输出?目标是避免inspect在返回非常大的集合时打印大量字符串

编辑:我可以在分号后系统地添加一个 0 或其他东西,但感觉很便宜

2.6.3 :010 > (1 + 1); 0
 => 0

EDIT2:Ruby 2.3.x 之前发生的事情:

irb(main):001:0> puts 1;
irb(main):002:0* puts 2;
irb(main):003:0* puts 3
1
2
3
=> nil
4

1 回答 1

4

在 IRB 终端中运行以下命令。

irb_context.echo = false
于 2019-08-28T12:59:55.657 回答