2
這按預期工作:爲什麼不能在Clojure REPL中更改clojure.repl/print-doc綁定?
java -jar clojure-1.4.0.jar -e "(do (require 'clojure.repl) (.setDynamiC#'clojure.repl/print-doc) (with-bindings {#'clojure.repl/print-doc str} (eval '(clojure.repl/doc println))))"
輸出:
"{:ns #<Namespace clojure.core>, :name println, :arglists ([& more]), :added \"1.0\", :static true, :doc \"Same as print followed by (newline)\", :line 3325, :file \"clojure/core.clj\"}"
但同樣在REPL不起作用:
輸出(doc println)
的
java -jar clojure-1.4.0.jar -e "(do (require 'clojure.repl) (.setDynamiC#'clojure.repl/print-doc) (clojure.main/repl :init (fn [] {#'clojure.repl/print-doc str}))))"
:
user=> (doc println)
-------------------------
clojure.core/println
([& more])
Same as print followed by (newline)
nil
user=>
我不知道我在做什麼錯。
@noahzİ'm期待上面的地圖輸出。我不明白爲什麼綁定在REPL之外工作,但不在REPL之內。 –