簡體   English   中英

令人困惑的ClojureScript錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM