Курс языка программирования Raku / Приложение 🆕 / Работа с данными / Текст и строки / Exercises / Шифр Цезаря

Решение: Шифр Цезаря

Вот один из возможных вариантов решения задачи.

Код

my $text = 'HELLO';

$text ~~ tr/A..Z/D..ZA..C/;

say $text;

🦋 Исходный код можно найти в файле caesar-cipher.raku.

Вывод

KHOOR

Комментарии

  1. Оператор транслитерации tr/// сопоставляет символы первого набора со вторым по позициям. A..Z выстраивается напротив D..ZA..C, поэтому A становится D, BE, а хвост X Y Z заворачивается обратно в A B C.

  2. tr/// изменяет строку на месте, поэтому после сопоставления сам $text содержит зашифрованное слово.

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

Шифр Цезаря   |   Кодирование длин серий