(list (car '(foo bar)) 有没有标准的函数替代?

对于列表 (foo bar), 有

(cdr '(foo bar))   ===> (bar)

有没有函数 fun 可以:

(fun '(foo bar))   ===> (foo)

我想可能有某个我不知道的函数名,所以在这里请教一下大家

(car '(a b))

(car '(a b)) ====> a 而不是 (a),请看我问题的标题。

(setq a '(a b)) (setcdr a nil) (print a)

这个貌似比 (list (car '(a b)) 更麻烦了?难道没有标准的函数来做这个?那我就还用 (list (car '(a b)) 算了。

(butlast '(a b c) 2) (butlast '(a b c d) 3)

2 个赞

(nbutlast '(a b)) 就可以了,这个是 subr.el 里的函数。

`(,(car '(a b))

1 个赞

这个好,只用 c 函数就搞定了

你来晚了,不然这个就选你的答案了 :joy:

又看了看,和 list 差不多的感觉……

哈哈,就是和list差不多,写宏的时候经常用到