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

5

Opmerkingen

  1. Het patroon matcht de cijfers en het letterlijke kg, maar het inline blok bewaart alleen $<number>.Int — het gehele getal, zonder de eenheid.

  2. made leest die waarde terug: een echte 5, klaar om mee te rekenen, in plaats van de tekst 5kg. Dat is de typische taak van make — een match omzetten in de nette waarde die je werkelijk wilt.

Cursusnavigatie

Haal het getal eruit   |   Vermenigvuldig een paar