Emacs Lispで、変数が定義されているかどうかを確認するにはどうすればよいですか?
回答:
boundp:変数(シンボル)がvoidでない場合はtを返します。より正確には、現在のバインディングが無効でない場合。それ以外の場合はnilを返します。
(boundp 'abracadabra) ; Starts out void.
=> nil
(let ((abracadabra 5)) ; Locally bind it.
(boundp 'abracadabra))
=> t
(boundp 'abracadabra) ; Still globally void.
=> nil
(setq abracadabra 5) ; Make it globally nonvoid.
=> 5
(boundp 'abracadabra)
=> t
emacs内から変数値をチェックしたい場合(「Emacs Lispで」と書いたので、これが当てはまるかどうかわかりません):
M-:
Eval
ミニバッファーで開始します。変数の名前を入力してReturnキーを押します。ミニバッファーは変数の値を示します。
変数が定義されていない場合、デバッガエラーが発生します。
M-: (boundp 'the-variable-name) RET
エラーをトリガーする必要なしにチェックします。