Next: , Previous: , Up: Lisp Data Types   [Contents][Index]


2.2 特別な読み取り構文

Emacs Lispでは特別なハッシュ表記を通じて多くの特別なオブジェクトと構文を表します。

‘#<…>’

入力構文がないオブジェクトはこのように表される(Printed Representationを参照)。

‘##’

名前が空文字列であるようなインターン済みシンボルのプリント表現(Symbol Typeを参照)。

‘#'’

functionにたいするショートカット。Anonymous Functionsを参照のこと。

‘#:’

名前がfooであるようなインターンされていないシンボルのプリント表現は‘#:foo’ (Symbol Typeを参照)。

‘#N’

循環構造のプリント時には構造が自身をループバックすることを表すためにこの構文が使用される。ここで‘N’リストの開始カウント。

(let ((a (list 1)))
  (setcdr a a))
=> (1 . #0)
‘#N=’
‘#N#’

‘#N=’はオブジェクト名、‘#N#’はそのオブジェクトを表すので、これらはコピーではなく同一オブジェクトになる(Circular Objectsを参照)。

‘#@N’

次の‘N’文字をスキップする(Commentsを参照)。

‘#xN’

16進表現の‘N’ (‘#x2a’)。

‘#oN’

8進表現の‘N’ (‘#o52’)。

‘#bN’

2進表現の‘N’ (‘#b101010’)。

‘#(…)’

文字列のテキストプロパティ(Text Props and Stringsを参照)。

‘#^’

文字テーブル(Char-Table Typeを参照)。

‘#s(hash-table …)’

ハッシュテーブル(Hash Table Typeを参照)。

‘?C’

文字(Basic Char Syntaxを参照)。

‘#$’

バイトコンパイル済みファイルのカレントファイル名(Docs and Compilationを参照)。これはEmacs Lispソースファイルで使用するためのものではない。

‘#@N’

次の‘N’文字をスキップする(Commentsを参照)。バイトコンパイル済みファイル内で使用されるものであって、Emacs Lispソースファイル内で使用するためのものではない。