Swift3の算術演算子にはご注意を

こんにちは!ぐちです。

お仕事の関係でSwift3を書く機会があったのですが、演算子についての注意事項をご紹介したいと思います。

算術演算子

算術演算子というと、みなさんご存知の通り値と値を計算(演算)するものですが、下記の5種類がありますよね。

  • + : 加算演算子 右辺と左辺の値を加算する。
  • - : 減算演算子 右辺と左辺の値を減算する。
  • * : 乗算演算子 右辺と左辺の値を乗算する。
  • / : 除算演算子 右辺と左辺の値を除算する。
  • % : 剰余算演算子 右辺と左辺の値を剰余算する。

といった感じでプログラムを書く方なら知ってるわぃ!とツッコミを受けそうなことを書きましたが、Swiftでの演算子の書き方がおもしろかったのでご紹介します。

中途半端なスペースはNG

Swiftで演算子を書くときに注意しないといけないことに演算子前後のスペースがあります。どういうことかと言いますと、次のコードをご覧ください。

var a = 10
var b = 2
var c = a+ b

このコードは3行目のvar c = a+ bの位置でエラーになります。では、次のコードはどうでしょうか。

var a = 10
var b = 2
var c = a+b

これは正常に動作します。では続きまして次のコードはどうでしょうか。

var a = 10
var b = 2
var c = a +b

これはエラーになります。だいたいルールがわかってきましたか?では次のコードを予想してみましょう。

var a = 10
var b = 2
var c = a + b

皆さんの想像通りですかね?このコードは正常に動作します。どういうルールかといいますと。

統一したスペースをつける

ルールは単純明快です。

  • 演算子の前にスペースを入れるのであれば後ろにもスペースを入れる
  • 演算子の前にスペースを入れないのであれば後ろにもスペースを入れない

要するに演算子の前後にスペースを入れるか入れないかのどちらかのみです。前後どちらかだけにスペースを入れる書き方は正常に認識されません。

他の言語でも意識したことがない?!

エンジニアの皆様はきっとコードにこだわりを持たれていると思います。他の言語でもブロック括弧({})の前後のスペースや条件文、演算子など統一感のあるコードを書かれると思うので、今回の内容のように前後のスペースが統一されていないコードなんて日頃から意識したことがないのではないでしょうか?

ただ、言語仕様として認めていない言語も珍しいと思うので、今回ご紹介させて頂きました。日頃からきれいなコードを書いていれば問題ない話なんですけどね。笑

では今回はこの辺で。