Ruby “如何重构”;如果;将声明转换为“声明”;除非;陈述

Ruby “如何重构”;如果;将声明转换为“声明”;除非;陈述,ruby,Ruby,有没有办法将其重构为语句,除非语句 a = false b = true if !a or !b puts "hello world" end 这似乎并不等同 unless a or b puts "hello world" end 这应该是: puts "hello" unless a and b 或 根据 与一样,除非是的否定,否则如果,则需要否定整个条件表达式(您可以使用它来简化它): 因此: 也许可以试试:把“hello world”放进去,除非(a | | b) unl

有没有办法将其重构为
语句,除非
语句

a = false
b = true

if !a or !b
  puts "hello world"
end
这似乎并不等同

unless a or b
  puts "hello world"
end
这应该是:

puts "hello" unless a and b


根据


一样,除非
的否定,否则如果
,则需要否定整个条件表达式(您可以使用它来简化它):

因此:

也许可以试试:
把“hello world”放进去,除非(a | | b)
unless a and b
   puts "hello"
end
unless (a and b) 
!(!a or !b) ≡ !!a and !!b ≡ a and b
unless a or b
  puts "hello world"
end