[swift-evolution] for-else syntax
    Chris Davis 
    contact at nthstate.com
       
    Wed Feb  1 10:48:26 CST 2017
    
    
  
Hi,
Often when I’m programming I stumble upon this scenario:
I have a list of items that may or may not be empty - if it’s full, I do one thing, if it’s empty I do something else, my code looks like this:
class Example_1
{
    let names = ["Chris", "John", "Jordan"]
    
    /// Loop over names, if no names, print no names
    func run()
    {
        for name in names
        {
            print(name)
        }
        
        if names.count == 0
        {
            print("no names")
        }
    }
}
let exampleOne = Example_1()
exampleOne.run()
However, Personally, I would find it more pleasing to write something like this:
class Example_2_Proposed
{
    let names:[String] = []
    
    /// Loop over names, if no names, print no names
    func run()
    {
        for name in names
        {
            print(name)
        } else {
            print("no names")
        }
    }
}
let exampleTwo = Example_2_Proposed()
exampleTwo.run()
The difference here is a “for-else” type syntax where if there were no items in the array it would simply fall through to the else statement.
What would be the pros/cons of introducing such syntax?
Is there’s a way of doing something similar in swift already?
Thanks
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170201/ba942731/attachment.html>
    
    
More information about the swift-evolution
mailing list