恐怕我在如何将这个 JavaScript 转换为类中的 CoffeeScript 时犯了一个简单的错误
在这个世界地图的原始示例中,我们有一个函数:
var quantize = d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map(function(i) { return "q" + i + "-9"; }));
然后在渲染地图时调用它:
.attr("class", function(d) { return quantize(rateById.get(d.id)); })
我们留下class="q8-9
了我们想要的东西。
将其转换为 CoffeeScript 我有:
quantize: ->
d3.scale.quantize()
.domain([0, .15])
.range(d3.range(9).map((i) -> "q" + i + "-9" ))
然后我这样称呼:
.attr("class", (d) => @quantize(rateById.get(d.id)) )
然而,这并没有返回一个值,而是返回了 scale 函数,给我留下了这个:
class="function scale(x) { return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; }"
我确定我在做一些非常简单的错误,但无法弄清楚。你能帮我吗?