# 2.2 特定的读取语法

Emcas Lisp 中有很多特殊的哈希记法，来表示一些特殊的对象。

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://emacs-lisp.ivory.cafe/lisp-shu-ju-lei-xing/2.2-te-ding-de-du-qu-yu-fa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
