次: , 前: Tips for Defining, 上: Variables


10.7 変数値の参照

変数を参照する普通の方法は、 変数を指名するシンボルを書くことです(see Symbol Forms)。 これには、プログラムを書くときに変数名を指定する必要があります。 読者は、普通このようにするでしょう。 場合によっては、実行時にどの変数を参照するか選ぶ必要があり、 そのときにはsymbol-valueを使います。

— 機能: symbol-value symbol

この関数はsymbolの値を返す。 これは、シンボルのもっとも内側のローカル束縛の値、あるいは、 ローカル束縛がなければグローバル値である。

          (setq abracadabra 5)
               => 5
          (setq foo 9)
               => 9
          
          
          
          ;; ここで、abracadabraは、
          ;;   その値を調べるシンボル
          (let ((abracadabra 'foo))
            (symbol-value 'abracadabra))
               => foo
          
          
          
          
          ;; ここで、abracadabraの値、
          ;;   つまりfooが、
          ;;   その値を調べるシンボル
          (let ((abracadabra 'foo))
            (symbol-value abracadabra))
               => 9
          
          (symbol-value 'abracadabra)
               => 5
     

symbolの現在の束縛が空であると、 エラーvoid-variableを通知する。