Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Grammatiken / Token und Regeln / Exercises / Eine Zuweisung mit Leerzeichen
Lösung: Eine Zuweisung mit Leerzeichen
Hier ist eine mögliche Lösung der Aufgabe.
Code
grammar Assign {
rule TOP { <key> '=' <value> }
token key { \w+ }
token value { \w+ }
}
say Assign.parse('x = 5').defined;🦋 Du findest den Quellcode in der Datei spaced-assignment.raku.
Ausgabe
TrueKommentare
Weil
TOPeineruleist, lassen die Leerzeichen im Muster Leerraum um das=in der Eingabe zu.'x = 5'wird also zerlegt. Mit einemtokenfürTOPwürde nur'x=5'treffen.
Der Leerraum, den eine rule zulässt, ist
wahlfrei, nicht vorgeschrieben: Der bedeutsame Leerraum
trifft genauso bereitwillig null Leerzeichen wie eines, die
Form ohne Leerzeichen wird also ebenfalls zerlegt:
say Assign.parse('x=5').defined; # TrueDie rule nimmt daher 'x = 5',
'x=5' und sogar 'x =5' gleichermaßen an —
Beweglichkeit, ohne auszubuchstabieren, wo ein Leerzeichen stehen darf
und wo nicht.
Kursnavigation
← Eine Zuweisung mit Leerzeichen | Grammatiken, Klassen und Vererbung →