Maybe I’m missing something, but aren’t these the default values of primitives
deep in the language?
String = “”
Int = 0
Boolean = false
So if you needed a different default value for your code, you’d do:
if !myBool?! {…} //Default to true in my app
You can still do which is better:
if myBool ?? true {…}
Probably booleans is not a clear gain, but for strings it would have vast
conveniences.
> On May 11, 2016, at 8:20 AM, Patrick Smith <[email protected]> wrote:
>
> I actually think this is less safe. It depends on the situation for what
> value the default should be. Sometimes it will be false, other times it will
> be true. So far better to explicitly show what the default is.
>
>
>> On 11 May 2016, at 10:16 PM, Basem Emara via swift-evolution
>> <[email protected]> wrote:
>>
>> Forcing unwrapping of optionals is bad practice, but safely unwrapping can
>> be tedious. I’m hoping for something in between that would that would
>> provide soft unwrapping using a syntax like: myVar?!
>>
>> For example, currently we have to do this:
>>
>> let temp = (myString ?? “”); print(“\(temp)”)
>> if (myString ?? “”).isEmpty {…}
>> if myBool ?? false {…}
>> if (myInt ?? 0) > otherInt {…}
>>
>> To something like this instead:
>>
>> print(“\(temp?!)”)
>> if myString?!.isEmpty {…}
>> if myBool?! {…}
>> if myInt?! > otherInt {…}
>>
>> What this is implying is that it will attempt to unwrap or use the default
>> of the type.
>>
>> Of course, this will only work with primitive types and leverage their
>> implicit default values which would go a long way with tedious code and more
>> safety (less forced unwrapping in the world). Otherwise it will produce a
>> compile error if doing something like: myCustomType?!. What do you think?
>>
>> Basem
>> _______________________________________________
>> 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