1
我想写append!
。附加两个可变列表
例如:如果我有
(define ml1 (mlist 1 2 3))
(define ml2 (mlist 4 5 6))
ml1
ml2
'#&(#&1 . #&(#&2 . #&(#&3 . #&())))
'#&(#&4 . #&(#&5 . #&(#&6 . #&())))
我希望能够做到这一点:
(append! ml1 ml2)
(mlist->list ml1)
;; produces '(1 2 3 4 5 6)
堆栈溢出不是“给我codez”网站。你有什么尝试? – 2012-07-11 11:16:52
什么是* mlist *? – 2012-07-11 22:37:43
@WillNess在球拍中,不变性是列表的默认值。因此'list'返回一个不可变列表。要得到一个可变列表,必须使用'mlist'。总之,所有(几乎)列表操作都有两种风格。那些在可变列表上工作的人通常会用'm'命名。 – soegaard 2012-07-12 10:05:22