Sto cercando di capire come funzionano le gerarchie Clojure, con il derivato e is-a? Costrutti. Non sono sicuro di come userei questi con le mappe e i record nel mio programma. Qualcuno ha usato questi?Come utilizzare le gerarchie dei clojure?
5
A
risposta
5
Trovo la tua domanda un po 'vaga. Hai letto la documentazione sul sito web Clojure?
http://clojure.org/multimethods
trovo gli esempi c'è abbastanza facile da seguire:
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
C'è anche questo post del blog con una più "mondo reale" Esempio:
Problemi correlati
- 1. Come possiamo rappresentare le gerarchie di modelli profondi in Backbone.js
- 2. Clojure: come utilizzare le variabili nelle espressioni regolari?
- 3. Come utilizzare le mie versioni delle librerie Clojure?
- 4. Come lavorare con le gerarchie di tipi in Neo4j?
- 5. Come modellare le gerarchie di classi in Haskell?
- 6. Comportamento dei trasduttori Clojure
- 7. Backbone.js e gerarchie/alberi
- 8. Evitare l'ereditarietà parallelo gerarchie
- 9. Sincronizzazione unidirezionale di due gerarchie
- 10. Ripetizione dei vettori in Clojure
- 11. Change Notification in MVVM gerarchie
- 12. Utilizzare le interfacce Clojure in un progetto di libreria Java
- 13. Eager caricamento di albero/gerarchie utilizzando Nhibernate
- 14. Ottieni gli spazi dei nomi clojure
- 15. Modellazione di gerarchie complesse in F #
- 16. Ci sono dei buoni benchmark Clojure?
- 17. Come combinare le sequenze in clojure?
- 18. Come ottenere le code di sequenza clojure
- 19. Come agganciare in Clojure
- 20. pitone pacchetto AST: attraversamento oggetto gerarchie
- 21. Documentazione Clojure per librerie/spazi dei nomi
- 22. clojure OAuth e le credenziali
- 23. Come vengono cercati gli spazi dei nomi del clojure?
- 24. Quali sono alcuni usi dei metadati Clojure?
- 25. Come disambiguare in Clojure
- 26. Semplici GUI Toolkit da utilizzare con Clojure
- 27. Come posso utilizzare il REPL Clojure insieme a Qt Jambi?
- 28. perché le librerie di clojure non tentano di utilizzare nomi univoci per nomi di funzioni comuni
- 29. Elenco dei Clojure compatibile Java Virtual Machines
- 30. compressione gerarchie di oggetti in JavaScript
Grazie , informazioni utili, quindi se ho capito bene se ho un record come (defrecord R []) e voglio metterlo in un hieracrhy di tipo allora ho bisogno associare i tipi con esso, come (def r (R.)) (assoc r: type :: type). È corretto? – Zubair
Tbh, non ho mai fatto nulla di simile con i dischi (purtroppo non ho ancora avuto il tempo di immergermi veramente in Clojure 1.2), ma sembra ragionevole. –