Nil
In JM° ist "nil" ein eigenständiges und einzigartiges Objekt.
Create
Ein Zugriff auf das einzig existierende "Nil"-Objekt kann auf zwei Arten erfolgen:
nil
NIL
Usage
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.
This throws an error:
abc = nil
This is valid:
abc? = nil
More about this is explained under "variables/constants".
Check
Whether a variable is "nil" can be checked via a simple comparison or the object function ".isNil":
Variant 1 (true):
abc?.isNil
Variant 2 (true):
abc? == nil
Replace
Nil can be replaced with a default value very easily with the "replaceNil" function.
Wenn das Ausgangs-Objekt nicht "nil" ist, wird eben dieses zurückgegeben:
5.replaceNil( 9 )
However, if the output object is "nil", it is replaced by "9" here:
nil.replaceNil( 9 ).print
Of course this also works with a variable:
abc? = nil
abc.replaceNil( 9 ).print
Hint:
Ein oder zwei Fragezeichen können bei der Definition einer Variable angehängt werden. Bei der weiteren Verwendung dürfen diese entfallen.