You can remove the default case and replace it with a case that matches any values:
//(math, science) var scores = (30,20) switch scores {//w w w .j a v a 2s. co m case (0,0): print("This is not good!") case (100,100): print("Perfect score!") case (50...100, let science): print("Math passed!") if science<50 { print("But Science failed!") } else { print("And Science passed too!") } case (let math, 50...100): print("Science passed!") if math<50 { print("But Math failed!") } else { print("And Math passed too!") } case (let math, let science)://replacing default print("Math is \(math) and Science is \(science)") }
Instead of writing the let keyword twice for both variables as
case (let math, let science):
you could rewrite it like this:
case let (math, science): print("Math is \(math) and Science is \(science)")