1

我正在玩将 clojurescript 编译为 nodejs,我真的很想使用这个println函数:

(println "hello world")

但是,它给了我一个错误

 No *print-fn* fn set for evaluation environment

我环顾了网络,但不清楚应该做什么。我真的只是想设置*print-fn*js/console.log但我不知道该怎么做

4

2 回答 2

3

如果你不能println在 clojurescript 浏览器环境中使用,为什么不在你的代码中(重新)定义这个函数呢?我的意思是:

(def println[ & more]
  (.log js/console more))

在您的应用程序代码的开头

编辑:正如@edbond 所说,在 clojurescript/node 环境中,您可以使用 println 而无需更多配置。您可以在 clojurescript 文档https://github.com/clojure/clojurescript/wiki/Quick-Start#running-clojurescript-on-nodejs上找到一个示例

(ns nodehello)

(defn -main [& args]
  (println (apply str (map [\ "world" "hello"] [2 0 1]))))

(set! *main-cli-fn* -main)
于 2013-11-14T09:28:09.280 回答
3

由于此提交将 println 重定向到控制台的规范方式似乎是:

(enable-console-print!)
于 2014-02-10T23:21:37.950 回答