Je me suis souvent demandé pourquoi les langues avec un null
représentant "pas de valeur" ne font pas la différence entre le passif "je ne sais pas quelle en est la valeur" et les plus affirmé, "Il n'y a pas de valeur.".
Il y a eu plusieurs cas où j'aurais aimé la différence entre les deux (surtout quand on travaille avec de l'entrée utilisateur et bases de données).
J'imagine que le suivant, où nous avons le nom des deux états d' unknown
et null
:
var apple;
while (apple is unknown)
{
askForApple();
}
if (apple is null)
{
sulk();
}
else
{
eatApple(apple);
}
Évidemment, nous pouvons sortir sans elle par la main stockant l'état somwhere d'autre, mais nous pouvons le faire que pour les valeurs null trop.
Donc, si nous pouvons avoir un null
, pourquoi ne pouvons-nous pas avoir les deux?