我自己在做一段测验,遇到下面的一个 puts 用法问题,代码如下:
def demo
puts "this is the demo"
end
if false || demo
puts "succ"
end
上面的代码的执行结果为如下:
#=> this is the demo
修改上面的代码,去除第一方法中的 puts 方法:
def demo
"this is the demo"
end
if false || demo
puts "succ"
end
上面的代码的执行结果为如下:
#=> succ
上面的测验是为了说明在“||”中,如果前一个字段返回 false,则结果返回后一个字段的值,但是在第一段的代码中,显示了 demo 方法的打印结果,但是为什么“puts 'succ'”这个打印结果没有,如果去除了 demo 方法中 puts 方法,那么“puts 'succ'”的结果就显示出来了,这是为何?