Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Прихващания / Exercises / Град и държава

Решение: Град и държава

Ето едно възможно решение на задачата.

Код

if 'London-UK' ~~ / $<city>=(\w+) '-' $<country>=(\w+) / {
    say ~$<city>;
    say ~$<country>;
}

🦋 Намерете програмата във файла city-and-country.raku.

Изход

London
UK

Коментари

  1. $<city>=( … ) и $<country>=( … ) дават на двете прихващания имена вместо номера.

  2. След съпоставянето до тях се стига като $<city> и $<country>, което се чете по-ясно, отколкото биха се чели $0 и $1.

  3. Префиксът ~ поставя всяко прихващане в низов контекст, така че то се отпечатва като обикновен текст; без него say $<city> би показал обекта на съвпадението като 「London」.

Навигация в курса

Град и държава   |   Първо фамилията