RosettaCodeData/Task/Rot-13/Groovy/rot-13-1.groovy
2023-07-01 13:44:08 -04:00

12 lines
377 B
Groovy

def rot13 = { String s ->
(s as List).collect { ch ->
switch (ch) {
case ('a'..'m') + ('A'..'M'):
return (((ch as char) + 13) as char)
case ('n'..'z') + ('N'..'Z'):
return (((ch as char) - 13) as char)
default:
return ch
}
}.inject ("") { string, ch -> string += ch}
}