Dear Swift Evolution Group Members,
         Recently, as I was reviewing some code that I wrote, I was wondering 
what the community’s thoughts are on the possible value of having a special “if 
let” self-assignment operator added to the language (such as =? ).  A sort of 
syntactic sugar that allows for optional unwrapping into a scoped variable of 
the same name as the variable in the larger scope.  Here is some before and 
after code of what I am contemplating:

Current:
var str:String?
str = "Hello"

if let str = str {
    print(str)
}

Abbreviated:
var str:String?
str = “Hello”   // Output is Hello, not Optional(“Hello”)

if let str =? {
    print(str) // Output is also Hello, not Optional(“Hello”)
}

The value that I perceive of adding this to the language would be to allow a 
short-hand way to unwrap in a “if let" conditional and allowing developers to 
reduce duplication when a unique variable name is not needed.  By the way, I’m 
a big fan of ternary operators which the community already sees of value.

Let me know your thoughts.  Is this something that could be put into a proposal?

Cheers,
—Nick—
.


_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to