Курс по 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
Коментари
- Операторът
//
е операторът defined-or, който връща първия дефиниран операнд. - В хеша, всички ключове са думи (т.е. те изглеждат като идентификатори), така че не е необходимо да ги цитирате в хеша. По този начин е възможно да се създаде хеш, както е показано по-долу:
my %dictionary =
above => 'below',
absent => 'present',
achieve => 'fail',
# . . .
wrong => 'right',
young => 'old'
;
Следващо упражнение
Навигация по курса
← Позиционни типове данни / Индексиране на диапазони | Създаване и извикване на функции →
Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська