私はこれを調べていて、リストの最後に「何か」を追加できますが、私が到達している問題は、具体的には、同じリストの最後にリストの最初の要素を追加することです。
例えば:
{1、2、3、4}は{1、2、3、4、1}になります。
これが私が問題を抱えているコードです:
(define (copy-first-to-end lst)
(cond [(empty? lst)
(cons (first lst) empty)]
[else (cons (first lst)
(copy-first-to-end (rest lst)))]))
このコードの問題は、空の場合は?条件では、応答は(最初のlst)を呼び出しますが、再帰的であるため、このリストの最初の要素は空です。スキームは動的に型付けされているため、最初の要素をどこにも格納できません(少なくとも、格納できるとは思いません)。
基本的なリスト機能のみを使用して、これを機能させるにはどうすればよいですか?(例:短所、短所?、空?最初、最後、残り)