[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bep] learning lisp



井上です。

Mitsugu SAKAMOTO <mitsugu@...> writes:

> 一般に(lispは知りません)変数を宣言すると言うのはこれからAという変数をこ
> んなかたで(文字列とか整数とか少数など)使うのよ。って言うことをプログラム
> の最初の法で記述します。

Emacs lispの場合「型」というのは代入するものによってころころ変わるはず
なので、「こんな型で」という指定ではないと思います。
「これからこのシンボルを変数として扱います」という意味です。
宣言されていないシンボルを「評価」すると、いわゆる
symbol's value as variable is void
というお馴染みの(?)エラーメッセージが出ます。
そして宣言は(setq ....) (defvar ...) それにletの最初の一時的な束縛指定
の部分で指定するわけです。
あるいは、
(make-local-variable ..)
でバッファの中でローカルになるように宣言したりします。
setq defvar で宣言した変数はEmacsの他の部分にも影響を与えるので、一時
的にしか使わない変数はletなどでくくって範囲を限定して宣言します。
# 嘘書いてるかも知れません。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690