int*_*tar 5 clojure google-closure-library clojurescript
我正在尝试将十六进制格式化为HTML格式,在浏览器中运行ClojureScript.
这是我的"格式"功能.
(defn gen-format [& args] (apply gstring/format args) )
Run Code Online (Sandbox Code Playgroud)
在"strings"命名空间中,我需要goog.string库:
(:require [goog.string :as gstring] [goog.string.format :as gformat])
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从javascript调用它时:
document.write(mypackage.strings.gen_format("#%x%x%x",0,0,0));
Run Code Online (Sandbox Code Playgroud)
它只是回来了 #%x%x%x
它并没有崩溃.但是goog格式函数似乎并没有代替这些值.我在这里做错了吗?
怎么%x
办?
纵观格式源SORCE,它只支持s
,f
,d
,i
和u
:
var formatRe = /%([0\-\ \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g;
Run Code Online (Sandbox Code Playgroud)
这似乎对我有用:
mypackage.strings.gen_format("#%d%d%d", 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)
更新:如果你需要渲染一个颜色的字符串,这些如何:
(defn hex-color [& args]
(apply str "#" (map #(.toString % 16) args))
(defn hex-color [r g b]
(str "#" (.toString r 16) (.toString g 16) (.toString b 16))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3458 次 |
最近记录: |