これだと (append '() 1) が 1 にならないですね。
こんな感じでしょうか。
最近、諸事情により昼間にパソコンを開く時間があまりありません。。
追記
(use srfi-1)
(define (list-append x . n)
(if (null? n)
x
(unfold null? car cdr x
(lambda _
(apply list-append n)))))なるほど!そういえば・・・
追記2
reduce-right!(use srfi-1) (define (list-append . xss) (reduce-right append1 '() xss))
0 件のコメント:
コメントを投稿