나는 우수한 Ruby on Rails Tutorial을 읽고 다음 코드를 발견했습니다.Ruby에서 0을 True로 처리해야하는 이유는 무엇입니까?
if 0
true
else
false
end
위의 반환 true
많은 언어 (C 명백한 예이다)과 달리, 루비 true
로 0
을 처리하는 방법을 보여줍니다. 특이한 행동을 기각하는 대신, 본 대회에서이 중요한 출발에 대한 충분한 이유가 있다고 가정합니다. 예를 들어 Python은 0
을 False
으로 처리합니다.
요약하면 0
을 true
으로 처리하기위한 루비 설계의 근거는 무엇입니까?
특히 파이썬에서 루비로 갈 때부터 흥미로운 점은 파이썬에서 이름 ('[]','{}','' "'')이 모두'false'라는 점입니다. 내 견해로 이것은 루비의 기이함을 향상시킵니다. – enocom
루비, 펄, 자바 스크립트, 루아 (루아 등)가 파이썬을 배우면서 사람들이 그 값이 사실이 아니라는 것을 이상하게 여기는 걸 알았습니다. – maerics
레일스는 #blank ?, #present ?, #empty?를 추가했으며 아마도 0, [], {} 및 ""이 false가 아니기 때문에 더 많은 정보를 제공 할 것입니다. 이 때문에 루비의 코드 원칙이 약해 지므로 코드가 커집니다. – allenhwkim