リストのネスト(入れ子構造)


> (define x (cons (list 1 2)
                  (list 3 4)))
> x
((1 2) 3 4)
> (cdr (car x)) ; (car x) は (1 2)
(2)
> (cdar x)      ; (cdr (car x))の略記
(2)
> (length x)
3
> (define (count-leaf tree)
    (cond ((null? tree) 0) ; 葉のないところは0
          ((pair? tree) (+ (count-leaf (car tree))
                           ; ↑左の部分木の葉の数
                           ; ↓右の部分木の葉の数
                           (count-leaf (cdr tree))))
          (else         1)))  ; 数字は葉
> (count-leaf x)
4


一覧 前へ 次へ