[swift-evolution] Change Request: Make myString.hasPrefix("") and myString.hasSuffix("") return true
Kevin Nattinger
swift at nattinger.net
Mon Jul 18 14:00:28 CDT 2016
I agree, true is definitely the expected behavior. In particular, it seems absurd to me that `a.hasPrefix(b)` and `a.hasSuffix(b)` could be false when `a == b` is true.
> On Jul 18, 2016, at 10:36 AM, Chris Denter via swift-evolution <swift-evolution at swift.org> wrote:
>
> Hello –
>
> Currently, the standard library String functions .hasPrefix() and .hasSuffix() will return false when given the empty string as input:
>
> $ swift
> 1> "".hasPrefix("")
> $R0: Bool = false
> 2> "foo".hasPrefix("")
> $R1: Bool = false
> 3> "foo".hasSuffix("")
> $R2: Bool = false
>
>
> This feels unexpected. The reason the methods behave this way seems to be a leaked implementation detail.
> Some languages, such as Python, return True in these cases -- perhaps motivated by the `someSet.contains(emptySet) == true` analogy.
>
> The ship has sailed for NSString and Foundation, but we might want to bite the bullet and fix this for Swift before 3.0 makes that much harder.
>
> Thank you so much for your time,
>
> Chris
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list