|
fcn caesarCodec(str,n,encode=True){
|
|
var [const] letters=["a".."z"].chain(["A".."Z"]).pump(String); // static
|
|
if(not encode) n=26 - n;
|
|
m,sz := n + 26, 26 - n;
|
|
ltrs:=String(letters[n,sz],letters[0,n],letters[m,sz],letters[26,n]);
|
|
str.translate(letters,ltrs)
|
|
}
|