Raku kurss / Regulārās izteiksmes un gramatikas / Gramatikas / Parsēšanas koks, make un made / Exercises / Sareiziniet pāri

Risinājums: Sareiziniet pāri

Šeit ir iespējams risinājums uzdevumam.

Kods

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

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

🦋 Atrodiet programmu failā multiply-a-pair.raku.

Izvade

20

Komentāri

  1. Abi skaitļi tiek satverti kā <a> un <b>, katrs pārveidots ar .Int.

  2. Iekšējais bloks apvieno apakšsakritības — tās sareizinot — un saglabā rezultātu uz sakritības, ko made tad atgriež.

Kursa navigācija

Sareiziniet pāri   |   Apgrieziet vārdu secību