[clojure] repl - xieyunzi/xieyunzi.github.io GitHub Wiki
repl=> (dir clojure.repl)
apropos
demunge
dir
dir-fn
doc
find-doc
pst
root-cause
set-break-handler!
source
source-fn
stack-element-str
thread-stopper
nil
repl=> (source dir)
(defmacro dir
"Prints a sorted directory of public vars in a namespace"
[nsname]
`(doseq [v# (dir-fn '~nsname)]
(println v#)))
nil
repl=> (find-doc "dir-fn")
-------------------------
clojure.repl/dir-fn
([ns])
Returns a sorted seq of symbols naming public vars in
a namespace
nil
repl=> (source clojure.repl/dir-fn)
(defn dir-fn
"Returns a sorted seq of symbols naming public vars in
a namespace"
[ns]
(sort (map first (ns-publics (the-ns ns)))))
nil
repl=> (doc the-ns)
-------------------------
clojure.core/the-ns
([x])
If passed a namespace, returns it. Else, when passed a symbol,
returns the namespace named by it, throwing an exception if not
found.
repl=> (ns-publics (the-ns 'clojure.repl))
{source-fn #'clojure.repl/source-fn, doc #'clojure.repl/doc, stack-element-str #'clojure.repl/stack-element-str, find-doc #'clojure.repl/find-doc, dir #'clojure.repl/dir, pst #'clojure.repl/pst, dir-fn #'clojure.repl/dir-fn, source #'clojure.repl/source, set-break-handler! #'clojure.repl/set-break-handler!, root-cause #'clojure.repl/root-cause, demunge #'clojure.repl/demunge, thread-stopper #'clojure.repl/thread-stopper, apropos #'clojure.repl/apropos}
repl=> (map first (ns-publics (the-ns 'clojure.repl)))
(source-fn doc stack-element-str find-doc dir pst dir-fn source set-break-handler! root-cause demunge thread-stopper apropos)
repl=> (sort (map first (ns-publics (the-ns 'clojure.repl))))
(apropos demunge dir dir-fn doc find-doc pst root-cause set-break-handler! source source-fn stack-element-str thread-stopper)
https://kotka.de/blog/2012/06/Did_you_know_IX.html
repl=> (first "ok")
\o
repl=> (.invoke first "ok")
\o
repl=> (first [1 2 3])
1
repl=> (.invoke first [1 2 3])
1