RosettaCodeData/Task/Caesar-cipher/Nanoquery/caesar-cipher.nanoquery

36 lines
744 B
Plaintext

def caesar_encode(plaintext, shift)
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowercase = "abcdefghijklmnopqrstuvwxyz"
cipher = ""
for char in plaintext
if char in uppercase
cipher += uppercase[uppercase[char] - (26 - shift)]
else if char in lowercase
cipher += lowercase[lowercase[char] - (26 - shift)]
else
cipher += char
end
end
return cipher
end
def caesar_decode(cipher, shift)
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowercase = "abcdefghijklmnopqrstuvwxyz"
plaintext = ""
for char in cipher
if char in uppercase
plaintext += uppercase[uppercase[char] - shift]
else if char in lowercase
plaintext += lowercase[lowercase[char] - shift]
else
plaintext += char
end
end
return plaintext
end