Ich erstelle ein Komfort-Makro. Ein Teil der Bequemlichkeit ist, dass ein regulärer Ausdruck nur mit einem String angegeben werden kann, und nicht mit der Schreibweise "re".Wie schreibe ich ein Clojure-Makro, um einen regulären Ausdruck aus einem String zu erstellen?
Der eine Teil, den ich nicht herausfinden kann, ist, wie man den Makro dazu bringt, den String zu nehmen und ihn als Clojure-Regex umzuschreiben (z. B. die # "re" -Notation). Ich denke, es ist ein Syntax/Escape-Problem.
Mein erster naiver Versuch (vorgibt, ich nur den String-to-regex Teil will):
(defmacro mymac [mystr] `#~mystr)
Ist es überhaupt möglich zu tun, was ich versuche zu tun? Oder gibt es eine tatsächliche Funktion, um eine Zeichenfolge zu nehmen und eine Regex zu erzeugen, anstatt das # Leser-Makro zu verwenden?
Oder sollte ich nur in Java fallen und java.util.regex.Pattern verwenden?
ja tut es genau was ich will. aber du musst zugeben, nicht so schön wie j-g-faustus (re-pattern "mystr") – dirtyvagabond
Nein, in der Tat nicht. – Sean