let numberSet = Set(1...11)
let divideSet = numberSet.map({ $0 / 10 })
//Error: Set does not have a member named map :(
Swift 1.2 はSet()
順序付けられていないコレクションをサポートしていますmap(_:)
が、セットでは機能しないようです。
let stringSet = Set(map(numberSet, { String($0)}))
println(stringSet)
stringSet = ["2", "11", "1", "8", "6", "4", "3", "9", "7", "10", "5]
これはうまくいくように見えました。だから私は Set を拡張しようとしました:
extension Set {
func map<U>(transform: (T) -> U) -> Set<U> {
return Set(Swift.map(self, transform)) }
}
Error: "couldn't find initialiser for Set(T) that accepts argument of type U"
そして、この例のように、うまくいかないのには十分な理由があると思います:
let smarDividSet = Set(map(numberSet, {$0 / 2}))
println(smarDividSet)
smartDividSet = "[5, 0, 2, 4, 1, 3]”
//Somehow elements is the Set are going missing.
set を拡張して map(_:) を確実に使用する方法についてのアイデアはありますか? みんなありがとう。