The sum operator computes the sum of all items emitted by the source observable. The following figure shows the marble diagram of this operator:
Figure 9.41: The sum operator
Its prototype is the following:
Observable.sum(self, key_selector=None)
Here, the key_selector argument is a transform function that returns the value to sum from an item. If no key_selector is provided, then the item itself is used.
Here is an example of the sum operator:
numbers = Observable.from_([1, 2, 3, 4])
numbers1.sum().subscribe(
on_next = lambda i: print("on_next {}".format(i)),
on_error = lambda e: print("on_error: {}".format(e)),
on_completed = lambda: print("on_completed")
)
This example gives the following result: