将元素添加到 alist(关联列表)的头部非常简单:
> (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))
但是,在我看来,这不是惯用的解决方案。那么这通常是如何在方案中完成的呢?或者这实际上是这样的?