[swift-evolution] [Accepted] SE-0121: Remove Optional Comparison Operators

Patrick Smith pgwsmith at gmail.com
Mon Aug 29 05:26:29 CDT 2016


A little nicer I think is:

if request?.httpVersion.map({ $0 < HTTPVersion(1.0) }) ?? true {

It’s very explicit what the fallback is too, the original’s ambiguity makes me uncomfortable.

BTW, did you want to be checking for <= 1.0? With HTTP 1.0, it’s opt in. https://en.wikipedia.org/wiki/HTTP_persistent_connection

Patrick

> On 28 Aug 2016, at 1:20 PM, Kevin Ballard via swift-evolution <swift-evolution at swift.org> wrote:
> 
> As for optional comparisons making the code cleaner, I end up using them all over the place. The case that motivated my email looked something along the lines of
> 
>  if request?.httpVersion < HTTPVersion(1.0) {
>    // no keepalive
>    disconnect()
>  }
> 
> This particular case could be trivially replaced with
> 
>  if request.map({ $0.httpVersion < HTTPVersion(1.0) }) ?? true {
> 
> but it’s uglier and harder to read.



More information about the swift-evolution mailing list