[swift-evolution] Pattern matching with Arrays
Mathew Sanders
mathew.sanders at gmail.com
Sat Dec 17 23:43:49 CST 2016
I've just joined the list (hi!) so not sure if this has been discussed in
the past.
Curious to hear if a future version of Swift might ever include some sort
of pattern-matching extended to Arrays. Maybe something like the following:
let numbers: [Int]
switch numbers {
case []:
// to match an empty array
case [1, 2, 3]:
// to match array with specific values
case [_, _, _]:
// to match array with 3 Ints
case let [first, last]:
// match a 2 element array and bind first and last elements
case let [first, next...]:
// to match array with at least one element
// bind first element, and bind other elements (could be empty)
// first: Int, next: [Int]
}
I love the pattern matching on tuples, and would love to see if extend to
Arrays as well, but not sure if it fits with future goals for the language.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161218/d6f6bac3/attachment.html>
More information about the swift-evolution
mailing list