RosettaCodeData/Task/Rot-13/Groovy/rot-13-1.groovy

13 lines
377 B
Groovy
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
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}
}