更好的方式来写条件

kru*_*hah 3 ruby ruby-on-rails

有没有更好的方法来写这个条件?

if (self.expense.nil? && self.income.nil?) || (!self.expense.nil? && !self.income.nil?)
  puts "test"
end
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 18

您正在测试表达式是否为true或两者都是false.试试这个:

if (self.expense.nil? == self.income.nil?)
Run Code Online (Sandbox Code Playgroud)

你不关心它们是真的还是假的,只是它们是相同的.