Ich möchte eine "Add-Watch" -Methode zu den Clojureql-Tabellen hinzufügen. Ist es möglich, dafür einfach eine Multimethode zu verwenden?Kann ich ClojureQL mit Protokollen oder Multimethoden erweitern?
Antwort
Sie müssen darüber nachdenken, wie Sie dies zuerst arbeiten möchten. Wenn eine Änderung an der SQL-Tabelle auftritt, wie werden Sie sie erkennen? Die SQL-Datenbank fordert Sie nicht auf, Sie über die Änderung zu informieren. Sie müssen entweder in einem Intervall abfragen oder die Funktion in CQL verfolgen, die eine Tabelle aktualisieren kann, z. conj !, disj !, update-in !.
Wenn Sie sich für die Überwachung dieser Funktionen entscheiden, müssen Sie derzeit die Quelle ändern und einen Aufruf an diese 3 Funktionen hinzufügen, der Ihren Beobachter warnt - Es kann einfach eine Funktion sein, keine Notwendigkeit für Multimethoden oder Protokolle.
Denken Sie genau darüber nach, wann/wo dies nützlich ist und wie Sie als Benutzer am besten von CQL bedient werden. Dann, wenn Sie etwas Brillantes finden, machen Sie ein Thema auf Github und lassen Sie es uns wissen.
Danke, Lau
- 1. Alternativen zu Multimethoden in Scala oder Jython
- 2. Allgemeine Syntax von Multimethoden
- 3. Definieren von Clojure Multimethoden
- 4. Kann ich Lisp mit C++ erweitern?
- 5. Häufige Probleme mit Clojure Multi-Methoden und Protokollen?
- 6. Ich kann "Webanwendung erstellen oder erweitern" in SharePoint nicht?
- 7. Wie bekomme ich add-watch um eine Clojureql-Tabelle anzuhören
- 8. Unterschied zwischen nachrichtenorientierten Protokollen und stromorientierten Protokollen
- 9. Wie kann man ein Polygon mit Geodjango erweitern oder verkleinern?
- 10. Swift Reihe von Protokollen mit associatedtype
- 11. Kann ich einen Anwendungsfall mehrfach erweitern?
- 12. Kann ich Meteor-Methoden überschreiben/erweitern?
- 13. Rekursive "merge" oder "erweitern" mit Ramda?
- 14. Entfernen alter Verzeichnisse mit Protokollen
- 15. Sortieren von Protokollen mit Regex?
- 16. Verhalten von Protokollen mit Selbst
- 17. Wie kann ich Datentyp in Java erweitern
- 18. Wie kann ich einen Service erweitern
- 19. Wie kann ich Pythons datetime.datetime mit meinen eigenen Methoden erweitern?
- 20. Wie kann ich die Klasse java.awt.Color erweitern?
- 21. Welche Java-Klasse kann ich erweitern?
- 22. Programmatisch reduzieren oder erweitern CollapsingToolbarLayout
- 23. Wie kann ich den Vue-Validator erweitern?
- 24. Implementieren von benutzerdefinierten Datenstrukturen mit Clojure-Protokollen
- 25. Wie kann ich eine SQLite-Datenbank "erweitern"?
- 26. Kann ich ein Objekt in angularjs erweitern?
- 27. Wie kann ich OData vom Server erweitern?
- 28. Kann ich das verzögerte Objekt jQuery.ajax erweitern?
- 29. Wie kann ich Node-Stream zu erweitern
- 30. Ich kann meinen Controller nicht erweitern
ich würde eher nicht die Quelle clojure ql ändern, so denke ich an über einen ref für meine Tabellen zugegriffen normalen Aufzeichnungen verwenden, auf dem ich Uhren hinzufügen. Dann befülle ich diese Datensätze beim Anwendungsstart mit clojureql. Ich weiß, dass es ein extra Level an Indirection ist, aber ich fühle mich eher clojuesque, da ich etwas möchte, das sich sauber mit clojure integriert. – Zubair