RosettaCodeData/Task/Caesar-cipher/Common-Lisp/caesar-cipher-3.lisp

10 lines
247 B
Common Lisp
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
(defconstant +a+ "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz")
(defun caesar (txt offset)
(map 'string
#'(lambda (c)
(if (find c +a+)
(char +a+ (mod (+ (position c +a+) (* 2 offset)) 52))
c))
txt))