Regards
(From mobile)

> On Jun 23, 2016, at 8:51 PM, Charlie Monroe via swift-evolution 
> <[email protected]> wrote:
> 
> 
>> On Jun 23, 2016, at 8:45 PM, Tim Vermeulen via swift-evolution 
>> <[email protected]> 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) }...
> 

    func doSomething<T> (with: t:T?, h: T -> ()) {
            if let t = self as? T { h(t) }
    }
extension Optional {
    func unwrap<T> (_ h: T -> ()) {
            if let t = self as? T { h(t) }
    }
}

Var s2:Sting? 
s2.unwrap { (str:String) in
    print(":)") 
}
doSomething(with:s2) { //same as above}

Nothing happens in both cases

>> 
>> 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
>>> 
>>> 
>>> [email protected](mailto:[email protected])⎥supmenow.com(http://supmenow.com)
>>> 
>>> 
>>> Sup
>>> 
>>> 
>>> Runway East
>>> 
>>> 
>>> 10 Finsbury Square
>>> 
>>> 
>>> London
>>> 
>>> 
>>> EC2A 1AF
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to