Bedingungen (Use)
Oft stehen zwei Objekte zur Verfügung, die je nach "true" oder "false" verwendet werden sollen.
Hierfür bieten z.B. Java oder PHP den ternären Operator "x ? y : z".
In JayMo wird für diesen Fall die ".use"-Funktion verwendet.
Die Funktion ".use"
b = true
b.use( 'a', 'b' ).print
Das erste Argument ("a") wird bei "true", das Zweite ("b") bei "false" zurück gegeben.
Die Funktion ".nilUse"
"use" steht in JayMo für eine Bedingung, bei der entweder das eine, oder das andere, Objekt verwendet wird.
Ist das aktuelle Objekt "nil", so wird bei dieser Funktion das erste Argument, ansonsten das Zweite zurückgegeben.
nil.nilUse( 'a', 'b' ).print
Die Funktion ".typeUse"
Ähnlich verhält es sich bei "typeUse". Hier werden 3 Werte übergeben. Entspricht der Typ des aktuellen Objekt's dem angegebenen Typ (bzw. ist davon abgeleitet), so wird das Erste, ansonsten das Zweite Objekt zurückgegeben.
"abc".typeUse( "Str", 'a', 'b' ).print
Die Funktion ".errorUse"
Bei dieser Funktion wird das erste Objekt zurückgegeben, wenn das aktuelle Objekt ein Fehler (Error) ist.
Error("abc", "def").errorUse( 'a', 'b' ).print
Die Funktion ".replaceNil"
An dieser Stelle sei noch auf die Funktion "replaceNil" hingewiesen. Diese ermöglicht das direkte Ersetzen von Nil durch einen vorgegebenen Wert.
nil.replaceNil( "foo" ).print