今さらですが、Swift3から色々な事情で「++」と「–」が削除されました。演算子は他のプログラム言語と似通っていますが今一度確認してみましょう。
Swift 5.1
Xcode 11.4
Xcode 11.4
演算子
簡単に確かめるためにPlaygroundを使いました。結果や途中経過が右画面に表示されます。
代入演算子
今更ですが算術でいうイコールとは異なるので念のため
= | 代入 |
1 2 3 4 5 6 |
import UIKit var number: Int // 2 * 9の値をnumberに代入 number = 2 * 9 |
加減乗算
定番の四則演算です
+ | 加算 |
– | 減算 |
* | 乗算 |
/ | 除算 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
let x = 2 let y = 3 // 加算 let p = x + y // 減算 let q = x - y // 乗算 let r = x * y // 除算 let s = Double(x) / Double(y) |
剰余演算子
割り算での余りです。
- Intの除算では小数点以下が切り捨てられるので余りが必要な場合はこれを使います。
- Intの除算では変数がDoubleなど整数でないとエラーとなります。
% | 剰余 |
1 2 3 4 5 6 7 8 9 |
// 剰余演算子 number = 9 % 2 number = 2/9 var dNumber: Double dNumber = 2 / 9 // error dNumber = 9 % 2 |
比較演算子
数値の大きさを比較する演算子です。結果はBool値(true, false)です
> | より上 |
< | より下 |
== | イコール |
>= | より以上 |
<= | より以下 |
!= | ノットイコール |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 比較演算子 var a = 4 var b = 7 var c: Bool c = (a > b) c = (a < b) c = (a >= b) c = (a <= b) c = (a == b) c = (a != b) |
論理演算子
比較してBool値を返します
&& | AND |
|| | OR |
! | NOT |
1 2 3 4 5 6 7 8 9 10 |
// 論理演算子 var d = true var e = false var f: Bool f = (d && e) f = (d || e) f = (!d) f = (!e) |
さて、冒頭でも述べた「++」「–」は無くなり、代わりは「+=1」「-=1」です。Remove the ++ and — operators にそのメリットとデメリットを比較して説明しています。この段階ではまだ非推奨でしたが最終的にSwift3で削除となりました。
++ | +=1 |
— | -=1 |
C言語系からやってる人からすると当たり前のように使っていたのに、という違和感はすごくありますが、まあ2つづつインクリメントするときは結局「+=2」としているので統一性があるといえばありますね。