2011-01-03 5 views
5

私はが-aであると、Clojure階層がどのように動作するかを理解しようとしていますか?構成体。私は自分のプログラムでどのように地図や記録にこれらを使用するのか分かりません。誰もこれを使っていますか?clojure階層の使い方は?

答えて

5

あなたの質問は少し曖昧です。 ClojureのWebサイトのドキュメントを読んだことがありますか?

http://clojure.org/multimethods

私は従うことがあっ例は非常に簡単見つける:

http://www.prodevtips.com/2010/06/20/clojure-inheritance/

+0

ありがとう:

user=> ::rect :user/rect user=> (derive ::rect ::shape) nil user=> (parents ::rect) #{:user/shape} user=> (derive ::square ::rect) nil user=> (ancestors ::square) #{:user/shape :user/rect} user=> (isa? ::square ::shape) true 

より "現実世界" の例で、このブログの記事もあります、有用な情報なので、もし私が(defrecord R [])のようなレコードを持っていれば、正しく理解すれば、それをhieracrhy型にする必要があります。 (def r(R.))(assoc r:type :: type)のように、型をそれに関連付けることができます。これは正しいです? – Zubair

+0

Tbh、私はレコードでこのようなことをしたことはありませんでした(残念ながら、Clojure 1.2に実際に飛び込む時間はまだありませんでした)。 –

関連する問題