9章はじめー

9章1節、集合。
うっはー!

代入が一般的ではないSchemeで、どうやって状態を扱うのかとても興味がある。

すべて式である

なんて言っちゃってるけど、やっぱ代入しちゃうのね。


新出の手続きは以下。

  • member
  • set!
  • delete

これらの手続きを使って、持ち物を表した*inventory*という名前のリストを操作してみよう、という感じ。
名前の前後にアスタリスクがついているのは、グローバル変数であることを明示するためのLISPの慣習だそうだ。

gosh> (define *inventory* (list 'potion 'potion 'dagger 'cookie 'dagger))
*inventory*