|
let rot13 (s : string) =
|
|
let rot c =
|
|
match c with
|
|
| c when c > 64 && c < 91 -> ((c - 65 + 13) % 26) + 65
|
|
| c when c > 96 && c < 123 -> ((c - 97 + 13) % 26) + 97
|
|
| _ -> c
|
|
s |> Array.of_seq
|
|
|> Array.map(int >> rot >> char)
|
|
|> (fun seq -> new string(seq))
|