Ruby는 unless
및 elsif
문을 제공합니다. 유사한 elsunless
성명이 있다고 가정하는 것이 자연스러운 것처럼 보이지만 그렇지 않습니다. 이것에 대한 특별한 이유가 있습니까?왜 Ruby에는`elsunless` 문이 없습니다?
설명하기 위해이 문은 이와 같은 코드를 허용합니다.
unless broken
# do something
elsunless done
# do something else
end
는이 코드가 if
및 elsif
을 사용하여 다시 작성 될 수 있다는 것을 알고 있어요,하지만 unless
를 사용하는 경우에 명확하다.
의미가 직관적이지 않기 때문에 '다름없는'것이 없습니다. –
사실, 키워드'otherwise'와'otherwisif'를 추가 할 것입니다. 그것은'else'보다 훨씬 더 잘 울립니다. 생각해보십시오. "true이면"hi "그렇지 않으면"low "end로 끝납니다. – mjnissim
제 생각에'unless..else'는 특히 코드에 익숙하지 않은 사람들에게 당신의 머리를 맡기는 것이 어렵습니다. 'if..else'를 사용하여 다시 작성하여 개선되지 않는 경우를 본 적이 없습니다. 다른 옵션을 추가하면 상황이 더욱 복잡해집니다. –