讨论操作list的各种处理 push append等

https://zhuanlan.zhihu.com/p/416973218

dash

(-insert-at N X LIST) ,返回将 X 插入 LIST 的第 N 位置得到的表 实现方式为先使用 -split-at 对 LIST 分组,再对分组表 Y 进行: (nconc (car Y) (cons X (cadr Y))) 的操作。这样得到的新表与原表 LIST 共享后半段,也就是共享原表第 N 个元素为表头的表。以下代码可以验证上面说法的正确性

~/.emacs.d $ (setq lst '(0 1 2))
(0 1 2)
~/.emacs.d $ (-insert-at 0 'a lst)
(a 0 1 2)
~/.emacs.d $ (-insert-at (length lst) 'z lst)
(0 1 2 z)

不过这个函数返回的是新表,需要手动赋值一下