有没有办法将此重构为unless
语句?
a = false
b = true
if !a or !b
puts "hello world"
end
这似乎不等同
unless a or b
puts "hello world"
end
答案 0 :(得分:5)
根据De Morgan's laws ...
否定您的情况unless (a and b)
答案 1 :(得分:3)
应该是:
puts "hello" unless a and b
或者
unless a and b
puts "hello"
end
答案 2 :(得分:0)
由于unless
是if
的否定,您需要否定整个条件表达式(您可以使用De Morgan’s laws来简化它):
!(!a or !b) ≡ !!a and !!b ≡ a and b
所以:
unless a or b
puts "hello world"
end