Курс по 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, B става E, а опашката X Y Z се завърта обратно към A B C.

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

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

Шифър на Цезар   |   Кодиране по дължина на серии