Курс по Raku / Регулярни изрази и граматики / Граматики / Дървото на разбора, make и made / Exercises / Умножете двойка
Решение: Умножете двойка
Ето едно възможно решение на задачата.
Код
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Коментари
Двете числа се прихващат като
<a>и<b>, като всяко се преобразува с.Int.Вграденият блок съчетава подсъвпаденията — умножава ги — и съхранява резултата върху съвпадението, което
madeслед това връща.