In Clojure 1.9.0-alpha13, ich kann ein spec-Prädikat mit spec/and
und , aber nicht and
und number?
definieren, erscheint es. Das ist rätselhaft. Es ist auch verwirrend, dass es keinen Fehler gibt, wenn ich das Prädikat definiere, sondern nur, wenn ich versuche, eine Spezifikation zu definieren, die es verwendet.nummer? kann nicht in der Spezifikation verwendet werden
Warum bekomme ich einen Fehler im zweiten Fall, aber nicht der erste? Ist dies ein Merkmal, das eine mir unbekannte Unterscheidung oder einen Fehler beinhaltet?
Beachten Sie, dass es kein Fehler ist, wenn es ::bar
direkt definieren:
user=> (s/def ::bar (s/and number? pos?))
:user/bar
Ah, vielen Dank für die Klärung meiner vielschichtigen Verwirrung. – Mars