【发布时间】:2013-12-18 14:09:50
【问题描述】:
我有以下代码:
scaleV (xs, c) => [c * xs[0], c * xs[1], c * xs[2]];
double phi = (1 + sqrt(5))/2;
List<List<double>> v = [[ 0.0, -1.0, phi],
[-phi, 0.0, 1.0],
[-1.0, phi, 0.0],
[ 1.0, phi, 0.0],
[ phi, 0.0, 1.0]];
要否定每个向量,我希望我可以使用 map(),这是一个常见的函数构造:
var w = v.map((x) => scaleV(x, -1.0));
w[0]、w[1] 等显然不能直接使用。在浏览器控制台中,尝试使用 w[0] 时出现“TypeError:w.$index 不是函数”。 “w is List”也是假的。
我希望这与 map() 方法的文档有关:
返回一个惰性 Iterable,其中每个元素 e 都被 f(e) 的结果替换。
但我不完全确定我是否理解这一点。在上面使用 List.from 似乎也不起作用。
如何使用 map() ?
【问题讨论】:
标签: dart