Іноді у мене є функція, яка повинна повертати справжню чи хибну. Але іноді три можливі значення мали б більше сенсу.
У деяких мовних тезах випадки обробляються цілими чи з винятками.
Для прикладу ви хочете отримати вік користувача, якщо йому більше 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
}
Як я вже говорив, ми можемо це вирішити за допомогою винятків та Int, але я вважаю, що досить сексуально вбудовувати в мову справжнє, хибне, невизначене, а не використовувати домашні константи.