Domanda

Is there any sensible way of transforming this:

(for ([cos-t (stream-map cos t-range)]
      [sin-t (stream-map sin t-range)])
  ...)

to something like this:

(for ([(cos-t sin-t) (... t-range)]
  ...)

It's not really a map function, since you can't make a list that way. I'm just looking for better and easier way of doing the thing above.

È stato utile?

Soluzione

What you want is already available using the for form. Use the in-parallel function to combine two sequences in this way:

(for ([(cos-t sin-t) (in-parallel (stream-map cos t-range)
                                  (stream-map sin t-range))])
  (displayln (+ cos-t sin-t)))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top