Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-swift latest

ControlNotificationStream.reduce(_:_:)

Returns the result of combining the elements of the asynchronous sequence using the given closure.

Source and package
Qualified name
ControlNotificationStream.reduce(_:_:)
Declared in
ControlNotificationStream
Package
libtmux-swift
reduce( initialResult: Result, nextPartialResult: (Result, Self.Element) async throws -> Result ) -> Result

Inherited from AsyncSequence.reduce(_:_:)

Description#

Use the reduce(_:_:) method to produce a single value from the elements of an entire sequence. For example, you can use this method on an sequence of numbers to find their sum or product.

The nextPartialResult closure executes sequentially with an accumulating value initialized to initialResult and each element of the sequence.

In this example, an asynchronous sequence called Counter produces Int values from 1 to 4. The reduce(_:_:) method sums the values received from the asynchronous sequence.

let sum = await Counter(howHigh: 4) .reduce(0) { $0 + $1 } print(sum) // Prints "10"

  • Parameters:
    • initialResult: The value to use as the initial accumulating value. The nextPartialResult closure receives initialResult the first time the closure runs.
    • nextPartialResult: A closure that combines an accumulating value and an element of the asynchronous sequence into a new accumulating value, for use in the next call of the nextPartialResult closure or returned to the caller.
  • Returns: The final accumulated value. If the sequence has no elements, the result is initialResult.
Type parameters
Parameters
Raises
  • any Error – Conditionally propagates errors (rethrows).

Esc

Type to search.

Reference previewOpen reference