Dmitri pointed out a few posts ago that Swift already has this. let opInt: Int? = nil opInt.map {$0.toIntMax()} //Evaluates to nil
Are you talking about something different? - Dave Sweeris > On Jun 23, 2016, at 2:04 PM, Charlie Monroe via swift-evolution > <swift-evolution@swift.org> wrote: > > Sure, the exact syntax is a matter of discussion, I just wasn't that much of > favor of the very short > > doSomething(with: myOptional?) > > - it looks like a great idea, making the code really short > - on the other hand the question mark is next to the variable, but the > method's execution is optional - in that sense something like doSomething(?: > myOptional)(with: myOptional) makes more sense, declaring explicitely what > optionals does the execution depend on. > - nevertheless, in the interest of clarity and readability of the code, I'm > still in favor of the original proposal, which requires you to either use if > or guard. > >> On Jun 23, 2016, at 8:57 PM, Tim Vermeulen <tvermeu...@me.com> wrote: >> >> But ! still suggests force unwrapping, while ? suggests safe unwrapping. Why >> not use a question mark? >> >>> It was in the previous proposal and suggested that you are not trying to >>> shadow the previous variable, but trying to unwrap it - and it acts as >>> unwrapped from there on. >>> >>> >>>> On Jun 23, 2016, at 8:52 PM, Tim Vermeulen<tvermeu...@me.com>wrote: >>>> >>>> Why with the exclamation mark? It suggests you’re force unwrapping >>>> something. >>>> >>>>>> On Jun 23, 2016, at 8:45 PM, Tim Vermeulen via >>>>>> swift-evolution<swift-evolution@swift.org>wrote: >>>>>> >>>>>> I would love to be able to do something like >>>>>> >>>>>> doSomething(with: myOptional?) >>>>> This actually looks good to me, though if I were a newcomer to the >>>>> language, it would be really cryptic. >>>>> >>>>> In case the function returned any value, it could become an optional, >>>>> just like with try?... >>>>> >>>>> I still, however, prefer the original proposal of if let myOptional! { >>>>> doSomething(myOptional) }... >>>>> >>>>>> >>>>>> which would be equivalent to >>>>>> >>>>>> if let myValue = myOptional { >>>>>> doSomething(with: myValue) >>>>>> } >>>>>> >>>>>> But it’s been discussed here before, and I don’t think people were very >>>>>> enthusiastic about it. >>>>>> >>>>>>> I was wondering if people would be open to adding an unwrap method to >>>>>>> the Optional type,I already have a method like this which shortens code >>>>>>> for me. >>>>>>> >>>>>>> So this: >>>>>>> >>>>>>> let myReallyLongOptionalName: String? = "Hey" >>>>>>> >>>>>>> if let string = myReallyLongOptionalName { >>>>>>> doSomethingWith(string) >>>>>>> } >>>>>>> >>>>>>> Could become" >>>>>>> >>>>>>> let myReallyLongOptionalName: String? = "Hey" >>>>>>> >>>>>>> myReallyLongOptionalName.unwrap { >>>>>>> doSomethingWith($0) >>>>>>> } >>>>>>> >>>>>>> The block would only be fired if myReallyLongOptionalName has a value. >>>>>>> >>>>>>> >>>>>>> ___________________________________ >>>>>>> >>>>>>> >>>>>>> James⎥Head of Trolls >>>>>>> >>>>>>> >>>>>>> ja...@supmenow.com(mailto:ja...@supmenow.com)⎥supmenow.com(http://supmenow.com) >>>>>>> >>>>>>> >>>>>>> Sup >>>>>>> >>>>>>> >>>>>>> Runway East >>>>>>> >>>>>>> >>>>>>> 10 Finsbury Square >>>>>>> >>>>>>> >>>>>>> London >>>>>>> >>>>>>> >>>>>>> EC2A 1AF >>>>>> _______________________________________________ >>>>>> 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