我知道是什么状态的概念,但我不明白它是如何在这个例子中实现: 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