Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
基本的に私が必要とするのは以下のようなスキームのコードで私を助けてください。アトムとリストを取り、リストの最後に要素を追加する関数(追加)。
例:
(append 'A '(B C D)) -> (B C D A)
再帰的なアプローチは次のようになります。
(define (append atom lst) (if (empty? lst) (list atom) (cons (car lst) (append atom (cdr lst)))))
利用方法:
> (append 'A '(B C D)) '(B C D A)
これはと同等です
> (cons 'B (cons 'C (cons 'D (list 'A)))) '(B C D A)
次のように、リストの最後に A on を追加できます。
(append '(B C D) (list 'A)))
Appendには、最初の引数としてリスト引数が必要です。2 番目の引数はリストである必要はありませんが、そうである(B C D . A)かのように表示されます。(append '(B C D) 'A))
(B C D . A)
(append '(B C D) 'A))
私の例