[swift-evolution] [Idea] if let value!
Daniel Höpfl
daniel at hoepfl.de
Wed May 18 08:12:26 CDT 2016
That's the idea of "let?".
"let!" would always execute the block (and crash if the optional is
nil.)
"if let!" is meaningless: "let!" would be true (if the optional is set)
or crash (if the optional is nil).
On 2016-05-18 14:27, Vladimir.S wrote:
> The idea to process the 'if' block only if anOptional is not null
>
> In case of
> let! anOptional {
> }
> IMO it is not clear that this block will be executed *only* if
> anOptional is not null.
>
> if let! anOptional {
> // here only if anOptional != null
> }
> - seems like similar to standard 'if let' construction so should not
> confuse too much and IMO will be remembered after the first
> appearance/using.
>
> On 18.05.2016 15:15, Daniel Höpfl via swift-evolution wrote:
>> Would it be possible to drop the "if"? I don't see why we need it.
>>
>> On 2016-05-18 11:22, LM wrote:
>>> I am experimenting with this:
>>>
>>> If var! anOptional {
>>> anOptional // unwrapped, shadowing
>>> }
>>>
>>> if let! anOptional {
>>> ... // same
>>> }
>>>
>>>
>>> This compiler codebase is truly remarkable, so it should also works
>>> with
>>>
>>> If var! opt1 where opt1 < 27 {
>>> }
>>>
>>> or
>>>
>>> if var! opt1, opt2 {
>>> // both unwrapped
>>> }
>>>
>>> LM/
>>>
>>>
>>>> On May 18, 2016, at 10:21 AM, Daniel Höpfl via swift-evolution
>>>> <swift-evolution at swift.org> wrote:
>>>>
>>>> Just an idea: Why don’t we think about it similar to try?
>>>>
>>>> var anOptional : String?
>>>>
>>>> let? anOptional { /* use it, but cannot change it */ }
>>>> let! anOptional { /* use it, without checking, cannot change it */ }
>>>>
>>>> var? anOptional { /* use it, can also change it, */ }
>>>> var! anOptional { /* use it, without checking, can also change it */
>>>> }
>>>>
>>>> Is it allowed to set it to nil in the var case? Hard to say.
>>>>
>>>>> On 17.05.16 15:43, Vladimir.S via swift-evolution wrote:
>>>>> It is common to shadow optional value name with unwrapped value
>>>>> with
>>>>> same name:
>>>>>
>>>>> if let someGoodValue = someGoodValue {...}
>>>>>
>>>>> What if we'll have a syntax to not repeat the variable name to
>>>>> achieve
>>>>> the same target:
>>>>>
>>>>> if let someGoodValue! {...}
>>>>>
>>>>> What do you think?
>>>>> _______________________________________________
>>>>> swift-evolution mailing list
>>>>> swift-evolution at swift.org
>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> _______________________________________________
>> 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