때로는 true 또는 false를 반환 해야하는 함수가 있습니다. 그러나 때로는 세 가지 가능한 값이 더 의미가 있습니다.
일부 언어에서는 이러한 경우가 정수 또는 예외로 처리됩니다.
예를 들어 18 세 이상인 사용자의 나이를 처리하려고합니다. 그리고 당신은 이와 같은 기능을 가지고 있습니다.
if(user.isAdult(country_code)){
//Go On
}else{
// Block access or do nothing
}
그러나 어떤 경우에는 앱 빌드 방법에 따라 생일 필드가 불완전한 경우를 볼 수 있습니다. 그런 다음이 함수는 결정되지 않은 것을 반환해야합니다.
switch(user.isAdult()){
case true:
// go on
break;
case undetermined:
//Inform user birthday is incomplete
case false:
//Block access
}
내가 말했듯이 Exceptions와 Int로 처리 할 수는 있지만, 가정에서 정의 한 상수를 사용하는 대신 언어에 참, 거짓, 결정되지 않은 것을 포함시키는 것이 매우 섹시합니다.