実践Common lispを読み始めた-第6章 変数
リファレンス
専門書が充実している本屋に行ったらCommon LISP第2版が置いてあった。リファレンスとして一冊あると何かと便利だろうと思って、値段をみたら税込み8400円なり。
まだ自分には早いな。
レキシカル変数とダイナミック変数そして型付け
おおざっぱに言えば、
- レキシカル変数 ローカル変数
- ダイナミック変数 グローバル変数
といってよいのかな。
Common Lispはdynamically typed。それはそうだよね。型宣言してないし。でも、本にはすべての型エラーを検出するという意味ではStrongly typedと書いてある。smalltalkとかでは型エラーを検出できないケースがあるのだろう。知らないのでパス。
レキシカル変数
レキシカル変数は、defun、letで作れる。
ダイナミック変数
defvar、defparameterを使う。ネーミングルールは名前の最初と最後に'*'をつける。
>(defvar *hoge* 100 "doc")
定数
defconstantを使う。定数のネーミングルールは名前の最初と最後に'+'をつける。
>(defconstant +hoge+ 100 "doc")