오늘 작업중인 일부 사양에서 이와 비슷한 것을 발견했습니다. 서비스가 param이 "true"
을 문자열로, true
을 TrueClass로 검사하고 있습니다. 그것은 나에게 합당한 것처럼 보이지만 제공된 param 값이 OR의 첫 번째 요소와 같을 때만 true로 평가된다는 것을 알았습니다.Ruby에서 동등 검사가 OR 표현식으로이 방식으로 작동하는 이유는 무엇입니까?
밑에 간단한 예 :
5 == (5 || 6)
이 true
5 == (6 || 5)
평가는 false
왜 평가?
이는 "단락"로 알려져을 작성하는 의미 : 그래서 다른 사람이 언급 한 것처럼,
5 || 6
은 5내가 함께 있다고 가정합니다. '5 || 6 '은'if 5 then 5 else 6 end'와 동일합니다. –