我试图了解Clojure层次结构是如何工作的,使用derive和is-a?结构体.我不确定如何将这些用于我的程序中的地图和记录.有没有人用过这些?
我发现你的问题有点模糊.您是否阅读过Clojure网站上的文档?
http://clojure.org/multimethods
我发现那里的例子很容易理解:
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
Run Code Online (Sandbox Code Playgroud)
这篇博文还有一个更"现实世界"的例子:
http://www.prodevtips.com/2010/06/20/clojure-inheritance/
| 归档时间: |
|
| 查看次数: |
876 次 |
| 最近记录: |