2015-01-01から1ヶ月間の記事一覧

Land of Lisp 6.5章メモ

6.5章メモ lambda らむだ!らむだ!

Land of Lisp 6章メモ

6章メモ 5章のゲームにコマンドラインインターフェースを追加する。 コンソールへの表示 print : 表示位置が行頭でなければ改行して値を出力して空白を出力 prin1 : 単に表示 入出力いろいろ printとreadはLispの値をそのまま入出力できる。 すなわち文字列…

Land of Lisp 5章メモ

5章メモ テキストゲームを作る。 世界は場所をノード、その間の移動手段をエッジとした有向グラフとして捉えられる。 ゲームでは以下の操作を行える。 周囲を見る 移動する オブジェクトを拾う オブジェクトを使う 文字列とシンボルのリスト ここでは文字列…

Land of Lisp 4章メモ

4章メモ 真偽値 Common Lispでは空リストを偽、それ以外を真として扱う。 また、空のフォームが空リストに評価され、nilは値nilをもつ定数で、値nilは空リストに等しいため、'() () 'nil nilはすべて空リストとなり偽。 条件分岐 if,when,unless, cond,case…

Land of Lisp 3章メモ

3章メモ Lispのシンタックス LispをLispたらしめるっぽいとこ。 Lispのコードは全部リスト。 クオート Lispのコードは第一要素を関数名として評価される。(特殊形式除く) 評価を抑制するときはクオートする。 リストとコンスセル リスト(a b c)はnilで終わる…

Land of Lisp 2章メモ

2章メモ Land of Lisp 2章を読んでのメモ。 defparameter/defvar グローバル変数定義。 defparameterだと同名の変数を定義した時に上書きされる。 defvarだとされない。 defun deffunではない。 ash arithmetic shift(算術シフト)の略。 lsh(logical shift)…