Курс языка программирования 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 4o. Оригинальный текст на английском языке.

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