目前函数实例在toString()中打印的是经过处理的Java名称。
`
user=> (ns proj.util-fns)
nil
proj.util-fns=> (defn a->b [a] (inc a))
'proj.util-fns/a->b
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x141ba1f1 "proj.util_fns$a__GT_b@141ba1f1"]
`
出于调试目的,如果toString()描述的是Clojure风格的fn名称将很有用。
方法:在函数实例中存储原始名称,并在toString()中使用,而不是返回类名。
`
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x47d1a507 "proj.util-fns/a->b(NO_SOURCE_FILE:2)"]
`
权衡:函数实例规模因函数名称而增加。
补丁:CLJ-1278-2.patch