> On Aug 15, 2016, at 3:08 PM, Xiaodi Wu <xiaodi...@gmail.com> wrote:
> 
> On Mon, Aug 15, 2016 at 3:05 PM, Charles Srstka <cocoa...@charlessoft.com 
> <mailto:cocoa...@charlessoft.com>> wrote:
>> On Aug 15, 2016, at 2:27 PM, Xiaodi Wu via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>> 
>> `let value = (x == nil) ? nil : foo.bar(x: x)` isn't so bad, is it? You 
>> could even write a custom operator to sugar it.
> 
> It’s distasteful, due to the need to use the force-unwrap operator. In cases 
> like this, I usually end up writing:
> 
> let value: Foo? = nil
> 
> if let x = x {
>       value = foo.bar(x: x)
> } else {
>       value = nil
> }
> 
> or:
> 
> let value: Foo? = {
>       if let x = x {
>               return foo.bar(x: x)
>       } else {
>               return nil
>       }
> }()
> 
> Both of which are unwieldy, but necessary to avoid the use of !.
> 
> You are arguing that the force unwrap operator ! is, per se, distasteful?

If there are two ways to do something, and one uses the force-unwrap operator 
while the other does not, I’ll usually opt for the latter.

Charles

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to