我对 ruby 语言中的 unless 和 if block 有疑问。如果我问这个问题那么愚蠢,请原谅。
假设我们有两个 bool 变量 a = true
和 b = true
。
条件:我想检查它们是否都为真。使用 if 语句,我们可以如下所示进行检查。
if a == true && b == true
print "Hai"
end
疑问:我可以使用下面给出的语句代替上面的语句吗?
unless a == false && b == false
print "Hai"
end
上面给出的两个 block 会给出相同的结果吗?
最佳答案
代替
if a == true && b == true
print "Hai"
end
你可以写
if a && b
print "Hai"
end
这是一样的
unless !(a && b)
print "Hai"
end
(使用 De Morgan's laws )与
unless !a || !b
print "Hai"
end
关于Ruby block - 除非和如果比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700712/