我是 Ruby 新手。今天我正在编写一些家庭练习,并发现了我的代码的这种行为:如果我尝试在第二种情况下在 irb 和 VSC 中执行相同的代码,我不会得到任何输出字符串。
这是 VSC 的示例:
def even_or_odd(number)
number.even? ? "Even" : "Odd"
end
even_or_odd(number)
此代码不会在 VSC 中给我输出,但如果我尝试在 irb 中执行此代码,它可以正常工作:
irb(main):001:1* def even_or_odd(number)
irb(main):002:1* number.even? ? "Even" : "Odd"
irb(main):003:0> end
=> :even_or_odd
irb(main):004:0> even_or_odd(32)
=> "Even"
irb(main):005:0>
有什么意义?
您需要佩戴 vsc
def even_or_odd(number)
number.even? ? "Even" : "Odd"
end
puts even_or_odd(32)
将 var
number
更改为实际整数。
但是当你运行
irb
时,它会自动向控制台显示返回值,这就是为什么它不需要puts。
您可以通过调用
irb --noecho
来更改此行为,然后您将需要 puts