If we were looking for conciseness then my picks would be:
every() - every elements meets condition
any() - anyone element meets condition
none() - none of the elements meets condition
Examples:
nums.every { isEven }
nums.any { isEven }
nums.none { isEven }
nums.every(matches: { isEven })
nums.any(matches: { isEven })
nums.none(matches: { isEven })
I rarely ever have a need for checking to see if all the elements equal a
value. It's normally all the elements match a given condition However if you
wanted to see if every element is the number nine then:
nums.every { $0 == 9 }
nums.every(matches: { $0 == 9 })
func every(matches condition: (Element) -> Bool) -> Bool
func any(matches condition: (Element) -> Bool) -> Bool
func none(matches condition: (Element) -> Bool) -> Bool
> On Apr 6, 2017, at 8:07 AM, Xiaodi Wu via swift-evolution
> <[email protected]> wrote:
>
> In JavaScipt they are known as "every" and "includes".
>
> In C# they are "TrueForAll" and "Exists".
>
> Not sure why "all" and "contains" is any less consistent.
>> On Thu, Apr 6, 2017 at 05:50 Víctor Pimentel Rodríguez via swift-evolution
>> <[email protected]> wrote:
>> On Thu, Apr 6, 2017 at 12:44 AM, Jonathan Hull via swift-evolution
>> <[email protected]> wrote:
>> On that note: ‘containsOnly' is still my favorite by a wide margin. I know
>> it is longer than ‘all’, but it’s behavior is much clearer (especially for
>> those of us who have never used or heard of ‘all’ in other languages), and
>> it’s relationship with ‘contains’ is also very clear.
>>
>> Also +1 to containsOnly for this very reason.
>>
>> In other languages (Python, Ruby, etc) that have an `all` method, they also
>> have an `any` method, thus maintaining certain consistency.
>>
>> In the Swift standard library that `any` method is called `contains`, so
>> `containsOnly` matches nicely that consistency.
>>
>> --
>> Víctor Pimentel
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution