Cursus Raku / Reguliere expressies en grammatica’s / Grammatica’s / De parseboom, make en made / Exercises / Vermenigvuldig een paar

Oplossing: Vermenigvuldig een paar

Hier is een mogelijke oplossing voor de taak.

Code

grammar Product {
    token TOP { <a> '*' <b> { make $<a>.Int * $<b>.Int } }
    token a   { \d+ }
    token b   { \d+ }
}

say Product.parse('4*5').made;

🦋 Je kunt de broncode vinden in het bestand multiply-a-pair.raku.

Uitvoer

20

Opmerkingen

  1. De twee getallen worden als <a> en <b> gecapturd, elk omgezet met .Int.

  2. Het inline blok combineert de submatches — het vermenigvuldigt ze — en bewaart het resultaat op de match, dat made daarna teruggeeft.

Cursusnavigatie

Vermenigvuldig een paar   |   Keer de woorden om