Nil - Nichts

In JM° ist "Nil" ein eigenständiges und einzigartiges Objekt. Es ist ähnlich zu "null" in Java, jedoch mit ein wenig anderen Eigenschaften.

Erzeugen

"Nil" kann auf zwei Wege erzeugt werden.
Einerseits als Objekt:

Nil

Andererseits als literal:

nil

Effektiv macht dies jedoch keinerlei Unterschied, denn es wird immer das einzig existierende Nil-Objekt zurückgegeben.

Verwendung

Generell dürfen Variablen und Konstanten niemals "Nil" sein!
Es sei denn, dies wird speziell erlaubt. Hierfür wird an die Variable/Konstante ein "?" angehängt.

# Dies wirft einen Fehler:
abc = nil
# Dies ist gültig:
abc? = nil

Weiteres hierzu findest Du unter Variablen/Konstanten.

Prüfen

Ob eine Variable "nil" ist, kann mit der allgemeingültigen Objekt-Funktion ".isNil" geprüft werden:

abc? = nil
abc?.isNil.print     # true

Ersetzen

Auch ist es möglich, "nil" ggf. zu ersetzen:

5.replaceNil(9).print     # Gibt 5 aus
nil.replaceNil(9).print # Gibt 9 aus

Dies geht natürlich auch mit einer Variable:

abc? = nil
abc?.replaceNil(9).print     # Gibt 9 aus