2.2 特定的读取语法
Emcas Lisp 中有很多特殊的哈希记法,来表示一些特殊的对象。
记法 | 解释 |
'#<...>' | 没有读取语法的对象的打印表示 |
'##' | 名称为空字符串的内部注册(interned)符号的记法 |
'#'' | 这个是 function 的缩写,(查阅 匿名函数) |
'#:' | 未注册(uninterned)符号的记法。比如名称为foo 的符号: '#:foo'。(查阅 符号类型) |
'#N' | 循环结构的记法,其中的 N 是回环的位置。 (let ((a (list 1))) (setcdr a a)) => (1 . #0) |
'#N=' '#N#' | '#N=' 给一个对象命名,而'#N#'代表那个对象,所以,当读取这个对象时,它们读取的是同一个对象,而不是副本 |
'#xN' | 表示十六进制数字 ( '#x2a') |
'#oN' | 表示八进制数字 ('#o52') |
'#bN' | 表示二进制数字 ('#b101010') |
'#(...)' | 字符的文本属性 (查阅 文本属性和字符串) |
'#^' | 字符表 (查阅字符表类型) |
'#s(hash-table ...) | 哈希表 (查阅哈希表类型) |
'?C' | 字符 (查询 基础字符语法) |
'#$' | 当前字节码文件的文件名 (查阅 文档和编译)。这并不意味着在 Emacs Lisp 源文件中使用。 |
'#@N' | 跳过余下的 'N' 个字符。这个一般在字符编译文件中使用,这并不意味着在 Emcas Lisp 源文件中使用。 |
最后更新于