Discussion:
Apprenticeship
(too old to reply)
B. Pym
2024-09-07 05:48:14 UTC
Permalink
(loop with new-string = (make-string (length e-mail-address))
for count from 0 to (1- (length e-mail-address))
for char-code = (char-code (aref e-mail-address count))
for new-char-code =
(if (and (> char-code 64)(< char-code 123))
(+ (mod (+ 13 char-code) 52) 65)
char-code)
do (setf (aref new-string count) (code-char new-char-code))
finally (return new-string)))
Gauche Scheme

(string-map
(^c (let1 n (char->integer c)
(integer->char
(if (< 64 n 123) (+ (modulo (+ 13 n) 52) 65) n))))
"***@VGIHKRR.TKZ")
Kaz Kylheku
2024-09-07 15:14:10 UTC
Permalink
Post by B. Pym
(loop with new-string = (make-string (length e-mail-address))
for count from 0 to (1- (length e-mail-address))
for char-code = (char-code (aref e-mail-address count))
for new-char-code =
(if (and (> char-code 64)(< char-code 123))
(+ (mod (+ 13 char-code) 52) 65)
char-code)
do (setf (aref new-string count) (code-char new-char-code))
finally (return new-string)))
Gauche Scheme
(string-map
(^c (let1 n (char->integer c)
(integer->char
(if (< 64 n 123) (+ (modulo (+ 13 n) 52) 65) n))))
TXR Lisp:

13> (mapcar [iffi chr-isupper (op wrap #\a #\z)] "***@VGIHKRR.TKZ")
"***@pacbell.net"

The pacbell.net domain is defunct, so no point in concealing.
--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @***@mstdn.ca
Loading...