web-dev-qa-db-ja.com

「++」は非推奨です:Swift 3で削除されます

Xcode 7.3への更新後、私のプロジェクトに多数の警告が表示されます。

'++'は非推奨です:Swiftで削除されます

この警告を修正するアイデアはありますか? ++--が今後廃止される理由は何ですか?

21
Zigii Wong

Swift 2.2なので、+= 1または-= 1代わりに。

そして、Swiftの進化を調べた後、これらの演算子を削除する理由がいくつかあります。

  1. これらの演算子は、最初のプログラミング言語としてSwiftを学ぶための負担を増やします-または、これらの演算子を別の言語でまだ知らない場合。

  2. それらの表現上の利点は最小限です-x ++はx + = 1よりもそれほど短くありません。

  3. Swiftは、=、+ =およびその他の代入のような操作がVoid(多くの理由により)を返すという点でCから逸脱しています。これらの演算子はそのモデルと矛盾しています。

  4. Swiftには、他の言語のCスタイルforループで++ iを使用する一般的な理由の多くを排除する強力な機能があるため、これらはよく書かれたSwift=コードではあまり使用されませんこれらの機能には、for-inループ、範囲、列挙、マップなどが含まれます。

  5. これらの演算子の結果値を実際に使用するコードは、多くの場合、混乱を招き、コードの読者/維持者にとって微妙です。彼らは、可愛くても理解しにくいかもしれない「非常にトリッキーな」コードを奨励しています。

  6. Swiftは評価の順序を明確に定義していますが、それに依存するコード(foo(++ a、a ++)など)は、明確に定義されていても望ましくありません。

  7. これらの演算子は、整数と浮動小数点のスカラー、および反復子のような概念という比較的少数の型に適用できます。複素数、行列などには適用されません。

最後に、これらは「これらがまだない場合、Swift 3?」に追加しますか?」というメトリックに失敗します。

詳しくは Swift evolution をご覧ください。

46
Zigii Wong