GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Special-Read-Syntax.html ・ emacs-doc.conao3.com

2.2 特殊読み取り構文

Emacs Lispでは、多くの特殊なオブジェクトや構文を、特殊なハッシュ記法を用いて表現します。

‘#<…>’

読み取り構文を持たないオブジェクトは、次のように表示されます(印刷表現と読み取り構文を参照)。

‘##’

名前が空文字列である内部化されたシンボルの印刷表現(シンボル型を参照)。

‘#'’

これは function の短縮表記です。無名関数 を参照してください。

‘#:’

名前が foo である内部化されていないシンボルの印刷表現は ‘#:foo’ となります(シンボル型を参照)。

‘#N’

環状構造を出力する際、この構文は構造が自身に戻る箇所を示すために使用され、‘N’はリストの開始カウントとなります:

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

‘#N=’はオブジェクトに名前を付け、‘#N#’はそのオブジェクトを表します。そのため、オブジェクトを読み戻す際は、コピーではなく同一のオブジェクトが返されます(循環オブジェクトの読み取り構文を参照)。

‘#xN’

‘N’を16進数で表したもの(‘#x2a’)。

‘#oN’

‘N’を8進数(‘#o52’)で表現したもの。

‘#bN’

‘N’を2進数(‘#b101010’)で表現したもの。

‘#(…)’

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

‘#^’

文字テーブル(文字テーブル型を参照)。

‘#s(hash-table …)’

ハッシュテーブル(ハッシュテーブル型を参照)。

‘?C’

文字(基本文字構文を参照)。

‘#$’

バイトコンパイル済みファイルにおける現在のファイル名(ドキュメント文字列とコンパイルを参照)。これはEmacs Lispソースファイルで使用することを想定したものではありません。

‘#@N’

次の ‘N’ 文字をスキップします(コメントを参照)。これはバイトコンパイル済みファイルで使用されるものであり、Emacs Lisp ソースファイルでの使用は想定されていません。

‘#f’

以下の形式がEmacs Lispリーダーで読み取れないことを示します。これは表示目的のテキスト内(読み取れない形式を示す他の方法よりも見栄えが良い場合)にのみ使用され、いかなるLispファイルにも現れることはありません。