La dimension du néant

Définissons une variable $a

$null c’est le void, c’est l’inexistence de valeur. C’est très utilisé lorsqu’un objet n’est pas correctement défini et donc il ne pointe vers aucune valeur.

Maintenant que $a vaut $null, faisons quelques essais:

Est-ce que $a est plus petit que 0

Est-ce que $a est plus grand que -1

Est-ce que $a est égal à zéro

J’en perds mon ℝ. Je n’ai pas de valeur, et j’ai quelque chose qui vaut moins que 0, est plus grand que tous les nombres négatifs et ne vaut pas zéro.

Essayons de comprendre.

$a équivaut à $null, en fait c’est void, un terme en C qui en principe équivaut à vide. Mais ici on ne parle pas du vide, qui est l’absence d’éléments (le panier est vide car il ne contient aucune pomme) on parle de néant. Le néant est l’absence d’ensembles.

void en Powershell est représenté par la valeur $null. D’ailleurs on peut caster vers un void avec [void].

Ceci ne retourne rien:

Et ceci permet d’y voir un peu plus clair

Ce qui porte vraiment à confusion est le cast suivant:

Ici Powershell nous aide en se disant que bien que $null ne soit pas une valeur, si vraiment on doit en choisir une ce sera celle-là.

D’ailleurs c’est pareil avec [bool]

Par contre déclarer une variable avec $null ne crée pas l’objet. Et accéder à une fonction membre d’un objet nul est fortement tabou.

 

Donc nous avons à faire avec le néant.

Le néant représenté par $null est un concept en dehors des valeurs. En dehors des ensembles mathématiques.

Du coup, $null est plus petit que les valeurs positives, est plus grand que les valeurs négatives, et ne vaut pas zéro.

Lorsqu’on trouve une variable ou un objet, ou une méthode qui vaut $null, et bien ça a une énorme valeur.  Et on se presse de la corriger, car généralement il s’agit d’une variable non définie, mal définie, mal passée, mal castée, et ça finit par des résultats non souhaités ou un crash dump et dans le cas de Powershell, un mur de rouge qui s’affiche dans la console.

Le néant peut avoir une grande valeur.

Partager ce contenu