好吧 我蠢 到今天才搞懂这个问题
ruby unless
表达式在条件为false才运行代码块,但其与条件"&& ||"逻辑组合使用一直没有搞懂.到底是false && false才运行unless的代码块,还是 false || false才继续运行.
其实这个问题很简单,只是一直没有想过这一点.unless只管条件是false还是true,至于是不是使用了 && 或 ||
caozuofu.html" target="_blank">操作符,是不管的.
&&逻辑符,还是只有在前面条件为真时,才运行后面的条件
puts 'ok' unless 1 && nil #整个条件表达式返回nil,那么unless条件成立,打印出ok
puts 'ok' unless 1 || nil #整个条件表达式返回1,不成立,无打印输出
puts 'ok' unless nil || false #整个条件表达式返回false,成立,打印ok