이 조건을 쓰는 더 좋은 방법이 있습니까?조건을 쓰면 더 나은 방법
if (self.expense.nil? && self.income.nil?) || (!self.expense.nil? && !self.income.nil?)
puts "test"
end
이 조건을 쓰는 더 좋은 방법이 있습니까?조건을 쓰면 더 나은 방법
if (self.expense.nil? && self.income.nil?) || (!self.expense.nil? && !self.income.nil?)
puts "test"
end
표현식이 모두 true인지 아니면 둘 다 false인지 테스트하려고합니다. 시도해보십시오.
if (self.expense.nil? == self.income.nil?)
두 항목이 모두 true인지 아니면 둘 다 false인지는 상관 없습니다. 당신은을 사용하고 있기 때문에 당신이 좋아하는 코드를 단축 할 수 전무를 확인하는 경우
당신은 논리에도 불구하고 조건
그렇게 (!self.expense.nil? && !self.income.nil?)
가 될 경우 !(self.expense.nil? || self.income.nil?)
하반기 드 모르 강의 법칙을 사용할 수 있습니다 그래서 :
if ((expense && income) || (!expense && !income))
puts "test"
end
제가 틀렸다면 저를 교정하십시오.
이런 젠장, 나는 루비가 XOR 연산자를 가지고 있다는 것을 몰랐다. 그것은 내가 지루한 구문 장을 건너 뛰는 마지막 시간입니다! ;-) –
@Tom Morris : 실제로 저는 xor가 여기에도 필요 없다고 생각합니다. 내 업데이트를 확인하십시오! –
예. 그 질문의 문맥에서 더 낫습니다. 하지만 XOR 연산자 (^)에 대해 배우는 것에 대해 여전히 감사드립니다. –