Arrays 带量程的快速开关
我有一个Arrays 带量程的快速开关,arrays,swift,switch-statement,tuples,Arrays,Swift,Switch Statement,Tuples,我有一个Int的数组,希望找到每个实例所处的范围 let array: [Int] = [35,34,33,32,31,30,28,27,26,25,24,23,7,6,5,4,3,2,1] 我有另一个数组的元组的Int let tupleArray: [(Int, Int)] = [(35,30),(28,22), (21,15), (14,8), (7,0)] 我正在使用开关对它们进行迭代 for a in 0..<array.count { var iteration:
Int
的数组
,希望找到每个实例所处的范围
let array: [Int] = [35,34,33,32,31,30,28,27,26,25,24,23,7,6,5,4,3,2,1]
我有另一个数组
的元组
的Int
let tupleArray: [(Int, Int)] = [(35,30),(28,22), (21,15), (14,8), (7,0)]
我正在使用开关
对它们进行迭代
for a in 0..<array.count {
var iteration: Int = 0
switch array[a] {
case tupleArray[iteration].0...tupleArray[iteration].1:
print("Within Range")
default:
print("Next iteration")
repeat {
iteration++
} while tupleArray[iteration].0 < array[a]
}
}
对于0中的一个..我很惊讶你居然可以运行代码。在我的Xcode 7.1中,它给出了一个运行时错误:
fatal error: Can't form Range with end < start
for a in array {
if let range = (tupleArray.filter { $0.1 <= a && a <= $0.0 }).first {
print("\(a) is within \(range)")
} else {
print("Cannot find a range for \(a)")
}
}