Cursus Raku / Reguliere expressies en grammatica’s / Grammatica’s / De parseboom, make en made / Exercises / Haal het getal eruit
Oplossing: Haal het getal eruit
Hier is een mogelijke oplossing voor de taak.
Code
grammar Weight {
token TOP { <number> 'kg' { make $<number>.Int } }
token number { \d+ }
}
say Weight.parse('5kg').made;🦋 Je kunt de broncode vinden in het bestand extract-the-number.raku.
Uitvoer
5Opmerkingen
Het patroon matcht de cijfers en het letterlijke
kg, maar het inline blok bewaart alleen$<number>.Int— het gehele getal, zonder de eenheid.madeleest die waarde terug: een echte5, klaar om mee te rekenen, in plaats van de tekst5kg. Dat is de typische taak vanmake— een match omzetten in de nette waarde die je werkelijk wilt.