zip() operator for
Flow combines the most recent emission from two
flows, after each emits a new value. So, in this example, after "A" and "a" are emitted,
zip() emits something. After "B" and "b" are emitted,
zip() emits something.
And so on, until one of the flows is completed.
zip() takes a lambda expression or other function type to combine the values
from the two upstream flows. The combined value is what
zip() emits. In
this case, we use the
to operator to create a
Pair. So, after "A" and "a"
zip() emits a
Pair wrapping "A" and "a"... and the same holds
true for each pair of letters.