私は少し高価です(データベースを開始する)、私は実際にそれを使用するつもりなら、私はデータベースを作成したいだけです。私は、参照変数(または可能であれば、単純な変数)を使用している(または逆参照された)イベントでその値を評価するだけの参照変数を探しています。概念的には次のようなものです。私はどちらかだけVAR vを使用し、または@vを呼び出し、私はそれは「本当にEXPENSIVE FUNCTION」をプリントアウトして取得し、Vその上から真の価値を持っているClojureには遅延変数がありますか?
(def v (lazy-var (fn [] (do (println "REALLY EXPENSIVE FUNCTION") true))))
と将来的には、。ここで重要なことは、変数が参照されるまでfnが評価されなかったことです。必要に応じて、関数は1回だけ評価され、変数の値が計算されます。これはクロージャーで可能ですか?
うん、これを見てみると、なぜ私はその言葉を考えなかったのだろうか? –