Swift 3:过滤范围

net*_*000 2 functional-programming filter swift

在Swift 2中,可以过滤这样的范围:

let range: Range<Int> = 1..<100
let mult4 = range
    .filter{n in n % 4 == 0}
Run Code Online (Sandbox Code Playgroud)

在Swift3中,范围似乎已经失去了它的过滤方法.有什么建议?

Mar*_*n R 7

你必须使用可数范围:

let range: CountableRange<Int> = 1..<100
// Or simply: let range = 1..<100

let mult4 = range.filter { n in n % 4 == 0 }
Run Code Online (Sandbox Code Playgroud)

A (Closed)Range描述"间隔"并且不能枚举,而a Countable(Closed)Range是连续值的集合.