問題2.28 – SICP(計算機プログラムの構造と解釈)その43

問題2.28

(define (fringe items)
  (cond ((null? items) ())
        ((not (pair? items)) (list items))
        (else
          (append (fringe (car items))
                  (fringe (cdr items))))))

(define x (list (list 1 2) (list 3 4)))
; ((1 2) (3 4))
(fringe x)
gosh> (1 2 3 4)
(fringe (list x x))
gosh> (1 2 3 4 1 2 3 4)

(define y (list (list (list 1 2) (list 3 4)) (list 5 6)))
; (((1 2) (3 4)) (5 6))
(fringe y)
gosh> (1 2 3 4 5 6)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»