A
Говорят в таких случая можно использовать replace(" " "_") :)
Size: a a a
A
T
T
(keyword (clojure.string/replace (munge "key with spaces and other unreadable symbols / \\ | # % ( ) { } [ ]") #" " "_"))
;;=> :key_with_spaces_and_other_unreadable_symbols__SLASH___BSLASH___BAR___SHARP___PERCENT__(_)__LBRACE___RBRACE___LBRACK___RBRACK_
T
(keyword (clojure.string/replace (munge "key with spaces and other unreadable symbols / \\ | # % ( ) { } [ ]") #" " "_"))
;;=> :key_with_spaces_and_other_unreadable_symbols__SLASH___BSLASH___BAR___SHARP___PERCENT__(_)__LBRACE___RBRACE___LBRACK___RBRACK_
IG
IG
(fn [x] (if (keyword? x) (clean-keyword x) x))
IG
clean-keyword
берет name, чистит строку, а потом обратно в keywordKC
KC
KC
T
#keyword "k e y"
KC
KC
#edn.invalid/keyword [“string with spaces”]
T
(namespace (keyword "foo/bar"))
;; => "foo"
KC
KC
(defmethod print-method clojure.lang.Keyword [kw ^java.io.Writer w]
(.write w (pr-str (tagged-literal 'kw [(namespace kw) (name kw)]))))
T
(defmethod print-method clojure.lang.Keyword [kw ^java.io.Writer w]
(.write w (pr-str (tagged-literal 'kw [(namespace kw) (name kw)]))))
T
(let [kw (keyword "foo/bar/baz/quux")]Строкой можно достичь всего что надо для полностью какого угодно киворда
[(namespace kw)
(name kw)])
;; => ["foo" "bar/baz/quux"]
KC