我有以下代码:
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()?