SICP問題2.17
与えられた(空でない)リストの最後の要素だけからなるリストを返す手続きlast-pair
再帰版
(define (last-pair items) (if (null? (cdr items)) (list (car items)) (last-pair (cdr items))))
反復版
(define (last-pair items) (define (iter last-item last-items) (if (null? last-items) (list last-item) (iter (car last-items) (cdr last-items)))) (iter 'null items))
ref-items, lengthを使った版
(define (last-pair items) (list (list-ref items (- (length items) 1))))