連想リスト (連想リスト) の先頭に要素を追加するのは簡単です。
> (cons '(ding . 53) '((foo . 42) (bar . 27)))
((ding . 53) (foo . 42) (bar . 27))
ただし、alist の末尾に追加するのは少しトリッキーです。いくつかの実験の後、私はこれを作成しました:
> (define (alist-append alist pair) `(,@alist ,pair))
> (alist-append '((foo . 42) (bar . 27)) '(ding . 53))
'((foo . 42) (bar . 27) (ding . 53))
ただし、これは慣用的な解決策ではないように思えます。では、これは通常どのようにスキームで行われるのでしょうか? それとも、これは実際にその方法ですか?