Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Grammatiken / Der Parsebaum, make und made / Exercises / Extrahieren Sie die Zahl
Lösung: Extrahieren Sie die Zahl
Hier ist eine mögliche Lösung der Aufgabe.
Code
grammar Weight {
token TOP { <number> 'kg' { make $<number>.Int } }
token number { \d+ }
}
say Weight.parse('5kg').made;🦋 Du findest den Quellcode in der Datei extract-the-number.raku.
Ausgabe
5Kommentare
Das Muster trifft die Ziffern und das wörtliche
kg, der inline stehende Block legt aber nur$<number>.Intab — die ganze Zahl, ohne die Einheit.madeliest diesen Wert zurück: eine echte5, bereit zum Rechnen, statt des Textes5kg. Das ist die typische Aufgabe vonmake— einen Treffer in den sauberen Wert zu verwandeln, den Sie tatsächlich wollen.