RosettaCodeData/Task/Rot-13/Prolog/rot-13-1.pro

8 lines
218 B
Prolog
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
rot13(Str, SR) :-
maplist(rot, Str, Str1),
string_to_list(SR, Str1).
rot(C, C1) :-
( member(C, "abcdefghijklmABCDEFGHIJKLM") -> C1 is C+13;
( member(C, "nopqrstuvwxyzNOPQRSTUVWXYZ") -> C1 is C-13; C1 = C)).