Ah, sorry, I misread! For readability I think I'd still favor something like:
if let b = b {
dict[a] = b
}
And I think some the arguments made in #0024 may still apply here, though feel
free to discuss!
Stephen
> On Dec 21, 2017, at 1:37 PM, Benoit Pereira da silva <[email protected]> wrote:
>
> Stephen,
>
> You are right the proposal #0024 is very close.
> But in fact the logic is inverted.
>
> When using «=? » the right item is optional.
> a =? b assigns « b » to « a » only if « b » is defined.
> So if an optional is defined =? will not erase its value.
>
> But my real questions was…
> Do you have such operators that you really use very often?
> Should we incorporate bunches of new operators / micro-syntactic sugar?
> Is swift evolution the good place to discuss such question?
>
> I don’t want to pollute your mail boxes.
>
> Best regards,
>
> B
>
>> Le 21 déc. 2017 à 19:12, Stephen Celis <[email protected]
>> <mailto:[email protected]>> a écrit :
>>
>> Such an operator was proposed here:
>> https://github.com/apple/swift-evolution/blob/60a8980a66a0a1341871ec323797c5547d0e0925/proposals/0024-optional-value-setter.md
>>
>> <https://github.com/apple/swift-evolution/blob/60a8980a66a0a1341871ec323797c5547d0e0925/proposals/0024-optional-value-setter.md>
>>
>> It was ultimately rejected:
>> https://lists.swift.org/pipermail/swift-evolution-announce/2016-February/000043.html
>>
>> <https://lists.swift.org/pipermail/swift-evolution-announce/2016-February/000043.html>
>>
>> Stephen
>>
>>> On Dec 21, 2017, at 11:44 AM, Benoit Pereira da silva via swift-evolution
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>
>>> Dear all,
>>>
>>> That’s not ambitious but i think worth be explored.
>>>
>>> What do you think for example of this Infix operator?
>>> « =? » allows to express optional assignments in a very concise way.
>>>
>>>
>>> // The `=? operator allows simplify optional assignements :
>>> // `a = b ?? a` can be written : `a =? b`
>>> infix operator =?: AssignmentPrecedence
>>>
>>> public func =?<T> ( left:inout T?, right: T? ){
>>> left = right ?? left
>>> }
>>>
>>> public func =?<T> ( left:inout T, right: T? ){
>>> left = right ?? left
>>> }
>>>
>>>
>>> Do you have such operators that you really use very often?
>>>
>
> Benoit Pereira da Silva
> Ultra Mobile Developer & Movement Activist
> Développeur Ultra Mobile & Militant du mouvement
> https://pereira-da-silva.com <https://pereira-da-silva.com/>
>
> <bannerp.jpg>
>
>
>
> ✄ --------------------------------
> This e-mail is confidential. Distribution, copy, publication or use of this
> information for any purpose is prohibited without agreement of the sender.
> Ce message est confidentiel. Toute distribution, copie, publication ou usage
> des informations contenues dans ce message sont interdits sans agrément
> préalable de l'expéditeur.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution