Курс языка программирования 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 4o. Оригинальный текст на английском языке.
Переводы этой страницы: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська