2007/03/12

回文を作りたい。いや、別に回文を作りたいわけじゃないんだけど、こういう再帰もできるのかと今頃気がついてなんとなく楽しくなった22時。
(define (anagram ls)
(append (list (car ls))
(if (null? (cddr ls))
(cdr ls)
(anagram (cdr ls)))
(list (car ls))))
gosh> (anagram '(ABLE WAS I ERE))
(ABLE WAS I ERE I WAS ABLE)
例文は『On Lisp』より。

No comments :