Sequence

protocol Sequence

A Sequence can be either finite or infinite.

  • Mechanica

    Checks if all the elements in collection satisfiy the given predicate.

    Example:

    [2, 2, 4, 4].all(matching: {$0 % 2 == 0}) -> true
    [1, 2, 2, 4].all(matching: {$0 % 2 == 0}) -> false
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func all(matching predicate: (Element) throws -> Bool) rethrows -> Bool

    Parameters

    predicate

    condition to evaluate each element against.

    Return Value

    true when all elements in the array match the specified condition.

  • Mechanica

    Checks if no elements in collection satisfiy the given predicate.

    Example:

    [2, 2, 4].none(matching: {$0 % 2 == 0}) -> false
    [1, 3, 5].none(matching: {$0 % 2 == 0}) -> true
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func none(matching predicate: (Element) throws -> Bool) rethrows -> Bool

    Parameters

    predicate

    condition to evaluate each element against.

    Return Value

    true when no elements satisfy the specified condition.

  • Mechanica

    Checks if any elements in collection satisfiy the given predicate.

    Example:

    [2, 2, 4].any(matching: {$0 % 2 == 0}) -> false
    [1, 3, 5, 7].any(matching: {$0 % 2 == 0}) -> true
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func any(matching predicate: (Element) throws -> Bool) rethrows -> Bool

    Parameters

    predicate

    condition to evaluate each element against.

    Return Value

    true when no elements satisfy the specified condition.

  • Mechanica

    Returns true if there is at least one element satisfying the given predicate.

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func hasAny(where predicate: (Element) -> Bool) -> Bool

    Parameters

    predicate

    A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element is a match.

  • Mechanica

    Returns true if all the elements satisfy the predicate.

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func hasAll(where predicate: (Element) -> Bool) -> Bool

    Parameters

    predicate

    A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element is a match.

  • Mechanica

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func grouped<Key>(by criteria: (Element) -> (Key)) -> [Key : [Element]] where Key : Hashable

    Parameters

    criteria

    The criteria closure takes an Element and returns its classification.

    Return Value

    A grouped dictionary with the keys that the criteria function returns.

  • Mechanica

    Splits self into partitions of a given length.

    Example:

    let string = "Hello"
    string.split(by: 2) -> ["He", "ll", "o"]
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func split(by length: Int) -> [[Element]]
  • Mechanica

    Returns a sequence that contains no duplicates according to the generic hash and equality comparisons on the keys reuteruned by the given key generating block. If an element occurs multiple times, the later occurrences are discarded

    Declaration

    Swift

    public func distinctElements<Key>(by keyGenerator: (Element) -> Key) -> [Element] where Key : Hashable

    Parameters

    keyGenerator

    The key generating block.

  • Mechanica

    Returns true if the Sequence contains all the given elements.

    Example:

    [1, 2, 3, 4, 5].contains([1, 2]) -> true
    ["h", "e", "l", "l", "o"].contains(["l", "o"]) -> true
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func contains(_ elements: [Element]) -> Bool
  • Mechanica

    Returns a collection of tuples where it’s indicated the frequencies of the elements in the sequence.

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public var frequencies: [(Element, Int)] { get }
  • Mechanica

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func hasDuplicates() -> Bool

    Return Value

    Returns true if the Sequence contains duplicates

  • Mechanica

    Returns true if the Sequence contains an element identical (referential equality) to an object.

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func containsObjectIdentical(to object: AnyObject) -> Bool
  • Mechanica

    Sums of all elements in array.

    Example:

    [1, 2, 3, 4].sum() -> 10
    

    Attention

    the sequence must be finite.

    Declaration

    Swift

    public func sum() -> Element