Одна вещь, которую я считаю отсутствующей в emacs lisp, на удивление, представляет собой конкретный бит манипуляции списком. Я скучаю по сокращению списка Python.
>>> mylist = ["foo", "bar", "baz", "qux", "frobnitz"]
>>> mylist[1:4]
['bar', 'baz', 'qux']
Я вижу функции butlast
и nthcdr
в документации emacs, которая даст те же результаты из кода:
(setq mylist '("foo" "bar" "baz" "qux" "frobnitz"))
(butlast (nthcdr 1 mylist) 1)
;; ("bar" "baz" "qux")
Есть ли более сжатый способ получения списка, чем объединение butlast
и nthcdr
?