私は現在LISPで遊んでいます。すべて問題ありませんが、次の問題がわかりません。
私はこの追加操作を持っています:
(define (append l1 l2)
(if (eq? l1 null)
l2
(cons (first l1)
(myappend (rest l1) l2))))
私はこのように使用します:
(myappend (cons (cons 1 2) null) '(4 5))
ラケットでの結果 は次のとおりです。
'((1 . 2) 4 5)
しかし、なぜ?cons はリストを返し、myappends は 2 つのリストを追加するため、私の意見では'(1 2 4 5)にする必要があります。誰でも私を助けることができますか?LISP は何をしているのですか?