Generic Instance Method

starts(with:)

Returns a Boolean value indicating whether the initial elements of the sequence are the same as the elements in another sequence.

Declaration

func starts<PossiblePrefix>(with possiblePrefix: PossiblePrefix) -> Bool where PossiblePrefix : Sequence, Self.Element == PossiblePrefix.Element

Parameters

possiblePrefix

A sequence to compare to this sequence.

Return Value

true if the initial elements of the sequence are the same as the elements of possiblePrefix; otherwise, false. If possiblePrefix has no elements, the return value is true.

Discussion

This example tests whether one countable range begins with the elements of another countable range.

let a = 1...3
let b = 1...10

print(b.starts(with: a))
// Prints "true"

Passing a sequence with no elements or an empty collection as possiblePrefix always results in true.

print(b.starts(with: []))
// Prints "true"

Complexity: O(m), where m is the lesser of the length of the sequence and the length of possiblePrefix.

See Also

Comparing Data

static func == (Data, Data) -> Bool

Returns a Boolean value indicating whether or not two data buffers are equivalent.

func elementsEqual<OtherSequence>(OtherSequence) -> Bool

Returns a Boolean value indicating whether this sequence and another sequence contain the same elements in the same order.

func lexicographicallyPrecedes<OtherSequence>(OtherSequence) -> Bool

Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the less-than operator (<) to compare elements.

func lexicographicallyPrecedes<OtherSequence>(OtherSequence, by: (UInt8, UInt8) -> Bool) -> Bool

Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the given predicate to compare elements.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software