[swift-evolution] Proposal: Add function SequenceType.find()

Nevin Brackett-Rozinsky nevin.brackettrozinsky at gmail.com
Wed Dec 30 18:24:33 CST 2015


Is it worth considering a version that returns a tuple of (index, element) ?

Nevin


On Tue, Dec 29, 2015 at 9:40 PM, Keith Smiley via swift-evolution <
swift-evolution at swift.org> wrote:

> +1. We've added an extension for this and find it very useful.
> On Tue, Dec 29, 2015 at 18:38 Kevin Ballard via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>> I'm proposing a new extension method on SequenceType called find(). It's
>> similar to CollectionType.indexOf() except it returns the element:
>>
>>
>> extension SequenceType {
>>
>>     /// Returns the first element where `predicate` returns `true`, or
>> `nil`
>>
>>     /// if such value is not found.
>>
>>     public func find(@noescape predicate: (Self.Generator.Element) throws
>> -> Bool) rethrows -> Self.Generator.Element? {
>>
>>         for elt in self {
>>
>>             if try predicate(elt) {
>>
>>                 return elt
>>
>>             }
>>
>>         }
>>
>>         return nil
>>
>>     }
>>
>> }
>>
>> -Kevin Ballard
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151230/7c6b878c/attachment.html>


More information about the swift-evolution mailing list