如:我有个文件路径 /aaa/bbb/ccc/ddd。
通过(split-string “/aaa/bbb/ccc/ddd” “/”)获取了一个list。
怎么获取最后一个。就像car只获取第一个一样?
可以使用下标么?怎么判断长度?或者是可以反转list让car获取最后一个?
有没有可用的函数?
如:我有个文件路径 /aaa/bbb/ccc/ddd。
通过(split-string “/aaa/bbb/ccc/ddd” “/”)获取了一个list。
怎么获取最后一个。就像car只获取第一个一样?
可以使用下标么?怎么判断长度?或者是可以反转list让car获取最后一个?
有没有可用的函数?
下标 nth i
最后一个 last
(last '(1 2 3)) ;; => (3)
(car (last '(1 2 3))) ;; => 3
下标用nth,判断长度用length,反转用reverse
请参考:https://www.gnu.org/software/emacs/manual/html_node/elisp/List-Elements.html#List-Elements
除了nth
,还可以用elt
和seq-elt
还可以用cl-first
cl-second
cl-third
……(一直到cl-tenth
)
还有更邪道的car
cadr
caddr
cadddr
……
(file-name-nondirectory "/path/to/file")
;; => "file"
可以,不止列表,数组、字符串也行,用 nth/aref/elt
length
可以,用 nreverse / reverse
(car (last your-list))
学习了,谢谢