Курс по Raku / Основи / Асоциативни типове данни / Упражнения / Замяна с антоними

Решение: Замяна с антоними

За да решите задачата, съдържанието на файла dictionary.raku се копира в решаващия файл replace-with-antonyms.raku. След това, цикълът през входните аргументи се опитва да намери думата в речника и ако успее, взема антонима. Ако няма такава дума в речника, се използва оригиналната дума.

Код

Решението е представено по-долу. Речникът е показан само частично тук.

my %dictionary =
    'above' => 'below',
    'absent' => 'present',
    'achieve' => 'fail',
    # . . .
    'wrong' => 'right',
    'young' => 'old'    
;

for @*ARGS -> $word {
    say %dictionary{$word} // $word;
}

🦋 Намерете програмата във файла replace-with-antonyms.raku.

Изход

$ raku exercises/associatives/replace-with-antonyms.raku early morning
late
evening

$ raku exercises/associatives/replace-with-antonyms.raku big soft drive
small
hard
drive

Коментари

  1. Операторът // е операторът defined-or, който връща първия дефиниран операнд.
  2. В хеша, всички ключове са думи (т.е. те изглеждат като идентификатори), така че не е необходимо да ги цитирате в хеша. По този начин е възможно да се създаде хеш, както е показано по-долу:
my %dictionary =
    above => 'below',
    absent => 'present',
    achieve => 'fail',
    # . . .
    wrong => 'right',
    young => 'old'    
;

Следващо упражнение

💪 Таблица за покупки

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

Позиционни типове данни / Индексиране на диапазони   |   Създаване и извикване на функции

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

Преводи на тази страница: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська