有没有明智的改变方法:
(for ([cos-t (stream-map cos t-range)]
[sin-t (stream-map sin t-range)])
...)
这样的事情:
(for ([(cos-t sin-t) (... t-range)]
...)
这不是一个真正的地图功能,因为你无法以这种方式制作一个列表。我只是在寻找更好,更简单的做法。
答案 0 :(得分:4)
使用for
表单已经可以使用您想要的内容。使用in-parallel
函数以这种方式组合两个序列:
(for ([(cos-t sin-t) (in-parallel (stream-map cos t-range)
(stream-map sin t-range))])
(displayln (+ cos-t sin-t)))