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 <b...@me.com> 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 <stephen.ce...@gmail.com >> <mailto:stephen.ce...@gmail.com>> 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 >>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> 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 swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution