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

定義と宣言

定義は、シンボルとある値とを関係付ける特殊フォームです。GNU Emacs Lisp には定 義の形式が 4 種類存在します。

defvar 定義と defconst 定義は(どちらも)あるシンボルをグローバル変数であると(訳 注: 宣言)します。宣言は、コードを読む人に対し "そのシンボルがどのように用いら れるか" を伝えるだけで、(実際) そのグローバル値が変更されるのか否かということ に関しては何の影響も与えません。 defvar と defconst に関してはチャプター 9 [変 数]、ページ 71 で記述します。

defun 定義と defmacro 定義は(それぞれ) lambda 式及び macro 式を作り、それを (定義される)シンボルの関数セルにバインドします。 defun と defmacro に関しては 別々のチャプター(チャプター 10 [関数]、ページ 83 とチャプター 11 [マクロ]、ペ ージ91 参照)に記述します。

GNU Emacs において、宣言はいくつかの目的を持ちます。まずそれは、コードを読む ユーザーに対し、変数や関数等がそこに示されたように用いられることを知らせます。 etags や make-docfile といったユーティリティーはこの宣言を認識し、tag テーブル や `etc/DOC' ファイルに (適切な)情報を追加します。次にそれは、Lisp に同じこと を知らせそこに示された使い方ができるようにします。

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

CN:ほとんどの Lisp システムにおいて、宣言はコンパイラに情報を与えることで、よ り最適化されたコードを出すようにします。現在の所 GNU Emacs Lisp コンパイラは コードの最適化に宣言は用いていません。

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


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