在为Ruby中的变量赋值时,如何避免控制台输出

use*_*702 5 ruby irb

在分配值时是否可以逃避该效果:

irb(main):584:0>a = true
=>true
irb(main):584:0>
Run Code Online (Sandbox Code Playgroud)

我有一个代码,有很多分配,当我尝试测试它时,由于所有这些返回值,我无法看到结果:

true
false
true
false
true
true
..
Run Code Online (Sandbox Code Playgroud)

Sim*_*tti 14

您可以启动irb或控制台附加--noecho选项.

$ irb --noecho
2.0.0p353 :001 > true
2.0.0p353 :002 > 
Run Code Online (Sandbox Code Playgroud)

否则,如果控制台是由另一个进程启动的,只需设置即可 conf.echo = false

$ irb 
2.0.0p353 :001 > true
 => true 
2.0.0p353 :002 > conf.echo = false
2.0.0p353 :004 > true
2.0.0p353 :005 > 
Run Code Online (Sandbox Code Playgroud)


bjh*_*aid 8

在命令后面加一个分号,它不打印,适用于pry和irb

[1] pry(main)> a = true
=> true
[2] pry(main)> a = true;
[3] pry(main)>
Run Code Online (Sandbox Code Playgroud)

IRB

2.0.0p247 :001 > a = true
 => true
2.0.0p247 :002 > a = true;
2.0.0p247 :003 >
Run Code Online (Sandbox Code Playgroud)

  • IRB版本不符合您的想法.试试这个例子:`puts"hi";`.您对Pry行为的理解是正确的. (3认同)