|
From: | Alex Shinn |
Subject: | Re: [Chicken-users] Review my Caesar Cipher? |
Date: | Tue, 11 Mar 2014 10:09:11 +0900 |
On 10 March 2014 20:04, Daniel Carrera <address@hidden> wrote:
I am trying to write an R7RS-compliant version. R7RS would give me "import", as well as char->integer and integer->char. The problem I'm having is that my code does not work when I compile it, or when I use "csi -s", but it works perfectly well when I paste it directly into the csi REPL.After a tip from Erik, I have isolated the issue. The (import) only works correctly if you first run (use posix). My REPL was loading posix because I loaded readline. The following code compiles and runs correctly:(use posix);; Unicode-safe. Requires an R7RS-compliant Scheme.;(import (srfi 13)) ; String library.(define msg "The quick brown fox jumps over the lazy fox.")(define key 13)(define (caesar char)(define A (char->integer #\A))(define Z (char->integer #\Z))(define a (char->integer #\a))(define z (char->integer #\z))(define c (char->integer char))(cond ((and (>= c A) (<= c Z)) (integer->char (+ A (modulo (+ key (- c A)) 26))))((and (>= c a) (<= c z)) (integer->char (+ a (modulo (+ key (- c a)) 26))))(else char))) ; Return other characters verbatim.
(print (string-map caesar msg))Cheers,Daniel.
_______________________________________________
Chicken-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users
[Prev in Thread] | Current Thread | [Next in Thread] |