しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swiftがオープンソース化されたのでSwift2.2/Swift3.0の変更を眺めてみる

こちらに書いてあったので読んでみました。

apple/swift-evolution · GitHub

Swift2.2の変更点

Allow (most) keywords as argument labels

大体のキーワードをメソッドのラベルに使えるようになりました。 今まではinのような名前のラベルを使う場合は``で囲む必要がありました。

indexOf(value,  `in`: collection)

2.2ではinが不要になるようです。

indexOf(value,  in: collection)

Swift3.0の変更点

Removing currying func declaration syntax

カリー化用のシンタックスが使えなくなるようです。
Swiftは使用頻度の低いシンタックスをどんどん削るので良いですね。

// Before:
func curried(x: Int)(y: String) -> Float {
    return Float(x) + Float(y)!
}

// After:
func curried(x: Int) -> (String) -> Float {
    return {(y: String) -> Float in
        return Float(x) + Float(y)!
    }
}

Remove the ++ and -- operators

++ と -- オペレーションが使えなくなるようです。
+= 1 と -= 1を使う事になりそうです。