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

12.7 変数の値へのアクセス

変数を参照する一般的な方法は、その変数名となる記号を記述することです。記号形式を参照してください。

実行時に初めて決定される変数を参照したい場合があります。その場合、プログラムの本文中で変数名を指定することはできません。symbol-value関数を使用して値を抽出できます。

関数: symbol-value symbol

この関数は、symbolの値セルに格納されている値を返します。ここには、変数の現在の(動的な)値が格納されています。変数にローカルバインディングがない場合は、単にそのグローバル値となります。変数がvoid型の場合、void-variableエラーが通知されます。

変数が字句的に束縛されている場合、symbol-value が返す値は必ずしもその変数の字句値と一致するとは限りません。字句値は、シンボルの値セルではなく、字句環境によって決定されます。変数束縛のスコープ規則を参照してください。

(setq abracadabra 5)
     ⇒ 5
(setq foo 9)
     ⇒ 9

;; Here the symbol abracadabra
;;   is the symbol whose value is examined.
(let ((abracadabra 'foo))
  (symbol-value 'abracadabra))
     ⇒ foo

;; Here, the value of abracadabra,
;;   which is foo,
;;   is the symbol whose value is examined.
(let ((abracadabra 'foo))
  (symbol-value abracadabra))
     ⇒ 9

(symbol-value 'abracadabra)
     ⇒ 5