Vigenère cipher: Difference between revisions

no edit summary
m (→‎{{header|Sidef}}: Fix link: Perl 6 --> Raku)
No edit summary
Line 1,477:
BEWARETHEJABBERWOCKMYSONTHEJAWSTHATBITETHECLAWSTHATCATCH
</pre>
 
=={{header|Lambdatalk}}==
Only texts in uppercases [A-Z] and spaces.
<lang scheme>
{def vigenere
{def vigenere.map
{lambda {:code :key :txt}
{S.map
{{lambda {:code :txt :key :i}
{W.code2char
{+ {% {+ {W.char2code {W.get :i :txt}}
{if :code
then {W.char2code {W.get {% :i {W.length :key}} :key}}
else {- 26 {W.char2code {W.get {% :i {W.length :key}} :key}}} }}
26}
65}} } :code :txt :key}
{S.serie 0 {- {W.length :txt} 1}}} }}
{lambda {:code :key :txt}
{vigenere.map :code :key {S.replace \s by in :txt}} }}
-> vigenere
 
1) encode: {vigenere true LEMON ATTACK AT DAWN}
-> LXFOPVEFRNHR
 
2) decode: {vigenere false LEMON LXFOPVEFRNHR}
-> ATTACKATDAWN
 
</lang>
 
=={{header|Liberty BASIC}}==