Reactive Programming - Are Last and First symmetrical?
Question: Do ❚ take(1) and ❚ first() return the same stream of events?
Answer: Clearly, they return the same stream of events when the input stream emits at least one event. But the results may be different if the input stream emits no value before its completion (I'll detail such edge cases in a future article).
Question: Are ❚ last and ❚ first outputs identical when the input stream emits only one value?
Answer: Not when the input stream emits only one value and completes later or never completes. ❚ first and ❚ last are not strictly "symmetrical". Remember that ❚ last has to wait for the ◉ complete notification (read more about stream completion).
Given a stream of numbers, return a stream that emits only the first even number and completes immediately. For example, given the stream 1 1 1 0 1 0 0 1, emit only the first 0.
And what about emitting the last even number?