… yMo-Flow (Follow the Flow) / ".use" mit 3 Werten

".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
- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €