我有一個很難理解這個例子中的觀點:期貨Clojure中
(let [result (future (println "this prints once")
(+ 1 1))]
(println "deref: " (deref result))
(println "@: " @result))
注意,字符串「這個打印一次」確實只打印一次,即使你兩次解除未來。這表明未來的身體只運行一次,結果2被緩存。
我不明白;該字符串將打印一次,即使不提領未來。這個例子應該教什麼?
最可能的僅僅是一個簡單的事實,即未來只評估一次,而多個解除引用操作不會觸發重新執行。 – zero323