中村 のりつぐ です。
In article <20030213.040728.33877269.rubikitch@...-lang.org>
rubikitch <rubikitch@...-lang.org> wrote:
> EmacsLispでやってみると
>
> (let (a b x (y 1))
> (while (<= y 1001)
> (setq a (- 2003 y)
> x (- 100000 y)
> b (/ x a))
> (when (zerop (% x a))
> (princ (format "%S\n" (list a b))))
> (setq y (1+ y))))
> (1849 54)
> nil
はじめての? GCL
(let (a b x y)
(do ((y 1 (+ y 1)))
((> y 1001))
(setq a (- 2003 y)
x (- 100000 y)
b (/ x a))
(when (zerop (mod x a))
(princ (list a b)))
))
; guile
(let ((a nil) (b nil) (x nil))
(do ((y 1 (+ y 1)))
((> y 1001))
(set! a (- 2003 y))
(set! x (- 100000 y))
(set! b (/ x a))
(if (zero? (modulo x a))
(write (list a b)))
))
; Gauche
(let ((a 1) (b 1) (x 1))
(do ((y 1 (+ y 1)))
((> y 1001))
(set! a (- 2003 y))
(set! x (- 100000 y))
(set! b (/ x a))
(if (zero? (modulo x a))
(write (list a b)))
))
1. let 式の使い方が良く分からなかった…
2. Gauche では nil はダメみたい #f ?
中村 典嗣 E-mail: nnakamur@...