puts bool ? "true" : "false" 是正确的,但 bool ? puts "true" : puts "false" 这不是正确的。有人能解释一下为什么吗? 顺便提一下: bool ? ( puts "true" ) : ( puts "false" ) 也可以正常工作。
当你在方法调用时没有加上括号,Ruby会默认你想要将该行末尾的所有内容作为参数。也就是说,以下两种调用方式是等价且无效的: bool ? puts "true" : puts "false" bool ? puts("true" : puts "false")