Курс Raku / Регулярні вирази та граматики / Граматики / Дерево розбору, make і made / Вправи / Перемножте пару

Розв’язання: Перемножте пару

Ось одне з можливих розв’язань задачі.

Код

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

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

🦋 Знайдіть програму у файлі multiply-a-pair.raku.

Вивід

20

Коментарі

  1. Два числа захоплюються як <a> та <b>, і кожне перетворюється через .Int.

  2. Вбудований блок поєднує підзбіги — перемножуючи їх — і зберігає результат на збігу, який потім повертає made.

Навігація курсом

Перемножте пару   |   Переверніть порядок слів