Terkadang saya memiliki fungsi yang harus mengembalikan benar atau salah. Tetapi terkadang tiga nilai yang mungkin lebih masuk akal.
Dalam beberapa tesis bahasa kasus akan ditangani dengan bilangan bulat atau dengan pengecualian.
Misalnya, Anda ingin menangani usia pengguna jika ia berusia di atas 18 tahun. Dan Anda memiliki fungsi seperti ini.
if(user.isAdult(country_code)){
//Go On
}else{
// Block access or do nothing
}
Tetapi dalam beberapa kasus tergantung bagaimana aplikasi Anda dibangun saya bisa melihat kasus di mana bidang ulang tahun tidak lengkap. Maka fungsi ini harus mengembalikan sesuatu yang tidak ditentukan.
switch(user.isAdult()){
case true:
// go on
break;
case undetermined:
//Inform user birthday is incomplete
case false:
//Block access
}
Seperti yang saya katakan kita bisa mengatasinya dengan Pengecualian dan Int, tapi saya akan merasa cukup seksi untuk memiliki embeded yang benar, salah, tidak ditentukan dalam bahasa daripada menggunakan beberapa konstanta yang didefinisikan di rumah.