基本的なチュートリアルから学んで、Om を試しているところです。
私のプログラムデータは単一のアトムにあります: app-state.
そのアトムにシーケンスを入れると、たとえば。
(defonce app-state (atom {:things [1 2 3 4]}))
その後、レンダリングでカーソルを取得できます
(let [things (:things data)] ... )
そしてそれを横切ってマップします:
(map #(* % %) things)
ただし、シーケンスを返すことができるメソッドを持つ defrecord がある場合:
(defrecord ThingCollection [xs]
IThingCollection
(getSeq [this] ... ) )
THATをアプリケーション状態にします
(defonce app-state (atom {:things (->ThingCollection [1 2 3 4]})))
...
(let [things (:things data)] ... )
私はこれを行うことはできません:
(map #(* % %) (.getSeq things))
カーソルにメソッド .getSeq がないというエラーがスローされるだけです
それは理にかなっている。しかし、カーソル内の ThingCollection オブジェクトを実際に取得するにはどうすればよいでしょうか? これの例は見つかりません。そして、私が試したことは何も私にそれを与えないようです.