タグ

ブックマーク / lisphub.jp (1)

  • 逆引き Common Lisp クックブック:変数とスコープ

    変数とスコープ Common Lispでの変数は、大きく分けて3種類あります。 (ここでは、定数も変数に含めて話をします) 定数変数 スペシャル変数 レキシカル変数 定数変数 defconstantで定義でき、再代入も再バインドもできません。 「物の」定数(数学的な定数など)に使います。逆に言うと、それ以外の場合にはあまり使う機会は少ないでしょう。慣例により、定数変数名の前後に+を付けることが多いです。 (defconstant +pi+ 3.14) +pi+ ; => 3.14 ;;; 再バインドしようとするとエラーになる (let ((+pi+ 3.1415)) (+pi+)) ; => ERROR スペシャル変数(ダイナミック変数) スペシャル変数(またはダイナミック変数)は、他の言語でいうところのグローバル変数に相当します(ただし、いくつか特長があります)。スペシャル変数は、慣例

  • 1