有没有简单的方法可以打印a到z的?
请先定义下什么是「简单」。笨的方法简单,还是字少的方法简单。
(list "a" "b" "c" ... "z")
(cl-loop for ch from ?a to ?z
collect (char-to-string ch))
2 个赞
(mapcar #'message (mapcar #'char-to-string (number-sequence ?a ?z)))
1 个赞
Emacs Lisp 中字符类型就是整数类型,比如字符 a
就是整数 97,也就是字符对应的 Unicode Code Point,所以生成 a
到 z
,一个方法是:
(number-sequence ?a ?z)
;; => (97 98 99 100 101 102 103 104 105 106 107 108 ...)
还可以转换成字符串:
(apply #'string (number-sequence ?a ?z))
;; => "abcdefghijklmnopqrstuvwxyz"
如果要插入当前 Buffer 也可:
(mapc #'insert (number-sequence ?a ?z))
2 个赞
concat
也行,且看起来更简单
(concat (number-sequence ?a ?z))
;; => "abcdefghijklmnopqrstuvwxyz"
4 个赞