Go to the first, previous, next, last section, table of contents.

シンボルタイプ

GNU Emacs Lisp におけるシンボルは、複数の目的で用いられるオブジェクトです。シ ンボルは、4 つの属性/セル (print 名セル、値セル、関数セル、プロパティーリスト セル) を持ちます。これらは(それぞれ)、他の Lisp オブジェクトを参照し、最初のも のを除き empty でありえます。シンボルは、これら 4 つのセルを独立に持つため、プ ログラム中で(ある)シンボルは(同時に)グローバル変数の値、関数、プロパティーリス ト、そしてそのシンボル自身を参照するのに用いることができます。

void は、セルが有意な値を持たないことを示すのに用いられます e.g., `このシンボ ルの値は void である'。シンボル void と間違わないようにしなくてはいけません。

ここでは print 名セルについて述べます。シンボルのこの他のセルに関しては、シン ボルに関するチャプターで述べます (チャプター 8 [シンボル]、ページ 65)。

print 名は、シンボルに対し最も明らかなものです。それはシンボルが渡された時に printer が出力するもので、 Lisp reader がシンボルを読み込む際、シンボルを (互 いに)区別するためのものです。 print 名セルは print 名の文字列を指します。 (こ のため) 名前は、(それが何であれ) 文字ストリングで構成されます。シンボルは、そ の print 名を(`"' を付けずに)入力(訳注:タイプ) して用います。

シンボルを読み込む際の規則は、ストリングを読み込む際のものと同じです。アルファ ベット文字は(全て)シンボル名の一部として読み込まれます。その他の文字は `\' で エスケープしてシンボル名に含むことができます。ストリングの場合と異なり、`\' の 意味はそれに続く 1文字をクォートすることに限られます。このため、タブ文字(TAB) を名前に含むシンボルを作るには、`\t' を用いることはできず、実際にタブを入力し なくてはいけません。シンボル名に普通の文字以外のものを含むのは(あまり)よくあり ません。

--------------------------------

CN: Common Lisp では、小文字は、 (明示的に "エスケープ" されない限り) 常に大文 字に "fold" されます。 GNU Emacs Lisp ではそうではありません。

------------------------

以下のものは(それぞれ)シンボルの print 表現です。

  foo                  ;"foo" という名前のシンボル
  FOO                  ;foo とは異なる "FOO" という名前のシンボル
  char-to-string       ;"char-to-string" という名前のシンボル
  1+                   ;"1+" という名前のシンボル
  +1                   ;integer で シンボルではありません
  \+1                  ;"+1" という名前のシンボル(うまい名前ではありません)
  \(*\ 1\ 2\)          ;"(* 1 2)" という名前のシンボル(最悪の名前です)
  +-*/_~!@$%^&=:<>{}   ;"+-*/_~!@$%^&=:<>{}" という名前のシンボル
                       ;   (通常の文字 (と + と -)) (訳注:??)

Go to the first, previous, next, last section, table of contents.