RosettaCodeData/Task/Vigen-re-cipher/Julia/vigen-re-cipher.jl
2024-10-16 18:07:41 -07:00

16 lines
578 B
Julia

(a::Char, b::Char, ± = +) = 'A'+((a-'A')±(b-'A')+26)%26
(a::Char, b::Char) = (a,b,-)
cleanup(str) = filter(a-> a in 'A':'Z', collect(uppercase.(str)))
match_length(word, len) = repeat(word,len)[1:len]
function (message::String, codeword::String, = )
plaintext = cleanup(message)
key = match_length(cleanup(codeword),length(plaintext))
return String(plaintext .↔ key)
end
(message::String, codeword::String) = (message,codeword,)
cyphertext = "I want spearmint gum" "Gimme!"
println(cyphertext)
println(cyphertext "Gimme!")