munge

added

ns
clojure.core

type
function

(munge s)


        

                user> (defn foo [] (println "foo"))
#'user/foo

user> foo
#<user$foo user$foo@a0dc71>

user> (munge foo)
"user_DOLLARSIGN_foo_CIRCA_a0dc71"
            
                (doseq [c (remove #(Character/isLetterOrDigit %) (map char (range 32 127)))]
  (println c "->" (munge c)))
;; Prints:
  ->
! -> _BANG_
" -> _DOUBLEQUOTE_
# -> _SHARP_
$ -> $
% -> _PERCENT_
& -> _AMPERSAND_
' -> _SINGLEQUOTE_
( -> (
) -> )
* -> _STAR_
+ -> _PLUS_
, -> ,
- -> _
. -> .
/ -> _SLASH_
: -> _COLON_
; -> ;
< -> _LT_
= -> _EQ_
> -> _GT_
? -> _QMARK_
@ -> _CIRCA_
[ -> _LBRACK_
\\ -> _BSLASH_
] -> _RBRACK_
^ -> _CARET_
_ -> _
` -> `
{ -> _LBRACE_
| -> _BAR_
} -> _RBRACE_
~ -> _TILDE_