2009/01/01

【scheme】for-eachがあったのか

リストの各要素に対して関数を適用するfor-eachがあったなんてー。

こないだの悩み解決。

【scheme】こないだのlistで書き忘れた http://ameblo.jp/valvallow/entry-10185017551.html

リストの中身を全部出力したかっただけなんだけどな。 こんなことになっちゃった。 センスなさすぎワロタ系?
;;list
(define x (list 1 2 3))
;;display list
(define disp-list
  (lambda (l)
    (if (not (null? l))
       (begin 
         (display (car l))
         (newline)
         (disp-list (cdr l))))))
(disp-list x)
;;=> 1
;;=> 2
;;=> 3
こっちがfor-each使ったもの。
(define ls '(1 2 3 4 5))
ls

(for-each display ls);;=> 12345

(newline)

(for-each (lambda (s) (display s) (newline)) ls)
;;=> 1
;;=> 2
;;=> 3
;;=> 4
;;=> 5

0 件のコメント:

コメントを投稿