状態

2022/01/03

状態

「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