Swift 3では '++'と ' - 'が削除されるため、以下のコードは無効になります。swift3の '++'と ' - 'の置き換えは何ですか?
return i < 0 ? nil : i--
今私はちょうどこの
if i < 0 {
return nil
}
let res = i
i -= 1
return res
のようにそれを書き換えるしかし、それはあまりにも....面倒になります。
Swift 3ではこのコードをできるだけ短く書き換える方法はありますか?
ここで可変性のための理由はありませんが。 iを変えずに戻って、i - 1を返してください。あなたの古いコードはそのまま役に立つでしょう。 – SBI
@SBI OPを見てみると、何らかの暗黙的な方法で 'i'の減少が使用される可能性があります(例えば、' i'はinout変数です)。これはおそらく、[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)です。 DarkLuna:本当に 'i'を減らして以前の値を返す必要がある場合、これらの操作を使うコンテキストはどのように見えますか? '++'や '--'演算子を使う必要がないような方法で構築することができます。 – dfri
私はこの質問は、それが旗印された犬だとは思わない。さらに、以下の答えが仮定されていることは疑問ではない(すなわち、i-の副作用が誤っていると仮定した回答、誤っていても意図的であるように見える)。 – Rob