google for swift print optional stackoverflow. I think that kind of speaks
for itself.
I think this is actually an example of why the current behavior is a
*good* thing.
I did just google that and the top comment of the first result explains
what an optional is. That is very good and encourages beginners to
understand how optionals work under the hood. If you hide that from them,
they will only be even more confused when they see just the string "nil"
pop up when it previously was showing the correct value.
···
On Thu, May 19, 2016 at 9:36 PM Krystof Vasa via swift-evolution < swift-evolution@swift.org> wrote:
BTW - google for swift print optional stackoverflow. I think that kind of
speaks for itself.> On May 19, 2016, at 6:07 PM, Jeremy Pereira via swift-evolution < > swift-evolution@swift.org> wrote:
>
> -1
>
> This seems to me like crippling string interpolation just because
sometimes we make mistakes. 99% of the time, if I interpolate an optional,
it’s because I want it that way. I don’t want to have to put up with a
warning or write the same boilerplate 99% of the time just to flag up the
1% more easily. Sorry.
>
>> On 18 May 2016, at 19:50, Krystof Vasa via swift-evolution < > swift-evolution@swift.org> wrote:
>>
>> The string interpolation is one of the strong sides of Swift, but also
one of its weaknesses.
>>
>> It has happened to me more than once that I've used the interpolation
with an optional by mistake and the result is then far from the expected
result.
>>
>> This happened mostly before Swift 2.0's guard expression, but has
happened since as well.
>>
>> The user will seldomly want to really get the output
"Optional(something)", but is almost always expecting just "something". I
believe this should be addressed by a warning to force the user to check
the expression to prevent unwanted results. If you indeed want the output
of an optional, it's almost always better to use the ?? operator and supply
a null value placeholder, e.g. "\(myOptional ?? "<<none>>")", or use
myOptional.debugDescription - which is a valid expression that will always
return a non-optional value to force the current behavior.
>>
>> Krystof
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution
--
Dan Appel