我正在试验/学习ClojureScript.下面的代码片段与优秀的d3.js lib接口,以显示一些圆圈.发现它有点冗长,没有求助于宏,有没有办法优化/最小化它?
(def rdata (atom (array 3 10 12 16 19)))
(defn update []
(let [em (.selectAll (.select js/d3 "svg") "circle")
data (.data em @rdata d3/String)
enter (.append (.enter data) "circle")
yscale (.linear (. js/d3 -scale))
xscale (.linear (. js/d3 -scale))
rscale (.linear (. js/d3 -scale))
]
(-> yscale
(.domain (array 0 20))
(.range (array 100 200)))
(-> xscale
(.domain (array 0 20))
(.range (array 100 800)))
(-> rscale
(.domain (array 0 20))
(.range (array 50 100)))
(-> enter
(.attr …Run Code Online (Sandbox Code Playgroud)