[英]Baffling ClojureScript Error
(defn sprintf [& args]
(with-out-str
(apply printf args)
*out*))
(Chrome)
Uncaught TypeError: Cannot read property 'cljs$lang$maxFixedArity' of undefined
我究竟做錯了什么?
錯誤:
Uncaught TypeError: Cannot read property 'cljs$lang$maxFixedArity' of undefined
...也許是歷史上最令人困惑的錯誤信息,實際上意味着:
您正在調用
apply
不存在(或未被要求)的函數。
搖滾,未來的Google員工!
(def sprintf format)
似乎更容易。
我沒有收到您看到的錯誤,我收到錯誤“No * print-fn * fn為評估環境設置”。
如果您通過https://github.com/clojure/clojurescript/blob/master/src/cljs/cljs/core.cljs瀏覽源代碼,您將在* print-fn *的文檔中找到此消息:
“每個運行時環境都提供了一種不同的打印輸出方式。無論函數* print-fn *綁定到哪個函數都將傳遞任何應該打印的字符串。”
所以我建議你玩* print-fn * - 或者@amalloy建議,直接使用'format'。
(順便說一句,如果你看一下https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure它表示“* out *目前尚未實現”。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.