状態
「Programming Clojure」第二版の5章の内容のMemo.
refによる更新
名前の通り、参照を操作する関数である。
refは参照の作成、(ref 10)みたいな感じで作成。大抵はbindする。
derefは参照からDataを取得する関数。
set-refは参照先を変更する関数。
ただし、変考時にはdosync関数で包まないと変更はできない。
また、参照先変更に関しては既存の参照先に追加する程度であれば、set-refではなく
alterを使ったほうがいいかもしれない。
alterは引数に指定した値を関数を使って更新する。
また、commuteという関数もある。こちらはalterと同じよびかただが、
更新順序が保証されない。その分高速に処理できることもある。
当然、bugが入りやすくなったりするので、
基本的にはalterを使ったほうがいい。
atomによる更新
ref - atom
set-ref - reset!
>> Home