如何在ClojureScript中引用Google Closure功能?

时间:2018-04-09 04:54:37

标签: clojurescript

这就是你需要一个谷歌闭包函数命名空间的方法:

(ns example.core
  (:require
    [goog.string :as gstring]
    goog.string.format))

但是你如何引用一些功能,我试过这个:

(ns example.core
  (:require
    [goog.string :as gstring :refer [format]]
    goog.string.format))

但它不起作用,它抱怨:Invalid :refer, var goog.string/format does not exist

由于

2 个答案:

答案 0 :(得分:0)

只要ns表单是结构化的,:refer对于Closure库基本上和ClojureScript名称空间一样。所以这个表格

(ns example.core
 (:require
   [goog.string :as gstring :refer [capitalize]]))

会引用capitalize

但是,goog.string.format是一个特殊的命名空间,并不真正遵循规则;最好只关注https://clojurescript.org/reference/google-closure-library#requiring-a-function

中的示例

答案 1 :(得分:-1)

改为使用import

(ns example.core
    (:import
        [goog.string format]))

(println (format "% 10.2f" -123.456))