我知道是什麼狀態的概念,但我不明白它是如何在這個例子中實現: https://github.com/quil/quil/blob/master/examples/gen_art/31_oo_circles.cljClojure狀態如何工作?
我根本看不到它。國家執行情況上線100,109,和137:
98-100:
(defn mouse-released []
(add-circles (state :circles)))
109:
(set-state! :circles circles*)
135-140:
(defn draw []
(background 255)
(let [circles* (state :circles)
circles (swap! circles* update-circles)]
(doseq [c circles]
(draw-circle c))))
這些發生了什麼行呢?
set-state!是奎爾方法,其實現可以在https://github.com/quil/quil/wiki/set~state%21
您是否知道類似Atom和Ref的clojure STM構造? – Ankur 2013-03-26 09:12:23
在這種情況下,「狀態」是一個var的名稱(不是我認爲的最有創意的名稱,但它可以得到) – 2013-03-26 18:59:39