".use" mit 3 Werten
"abcdef".use( 5 == 2+3, 'a', 'b' ).print
In diesem Beispiel wird die Bedingung des ersten Wertes verwendet und 'a' ausgegeben. Das Basis-Objekt ("abcdef") wird nicht weiter beachtet und verworfen.
Unter Hinzunahme von "cur", bzw. "$" zeigt sich allerdings, wie mächtig diese Funktion wirklich ist. "cur" bietet uns innerhalb der Wert-Übergabe den Zugriff auf das Objekt, von dem die Funktion aufgerufen wird. Hier im Beispiel wird die Funktion ".use" des Objekts (String) "abcdef" aufgrufen.
So kann die Abfrage direkt auf den String zugreifen:
"abcdef".use( cur.len > 3, 'a', 'b' ).print
Ist hier also die Länge des aktuellen Objekts ("abcdef") größer als 3, so wird 'a' zurückgegeben, ansonsten 'b'.
Mit "cur" ist es sogar möglich, ggf. das aktuelle Objekt zurück zu geben. Ebenso kann das aktuelle Objekt modifiziert werden.
"abcdef".use( cur.len > 3, cur, cur + "ghi" ).print
Im diesem Beispiel wird nun der String "abcdef" ausgegeben. Wird der String verändert, so dass er kleiner oder gleich 3 Zeichen lang ist, so wird "ghi" angehängt.
"ab".use( cur.len > 3, cur, cur + "ghi" ).print
Weiteres zu "cur" kann hier nachgelesen werden: "Magische Variable "cur""
In Kurzform geschrieben, sieht das Beispiel wie folgt aus:
"abcdef".use( $.len > 3, $, $ + "ghi" ).print