Swiftの追加された演算子と簡単になった文法

CodeZine / 2014年12月11日 14時0分

絵文字入力パレット

 本連載では、Objective-Cの基本的なプログラムが出来る読者を対象に、Swiftを使ってアプリを開発する際の基本的な事柄を解説します。Objective-CもSwiftもC言語を母体としたプログラム言語なので両者に共通する概念は非常に多いです。Objective-CとSwiftとの最低限度の違いを踏まえつつ、Swiftでのアプリ開発にシフトして行けるような内容をサンプルを交えながら解説します。今回は、Swiftでの演算子の使い方と文法について説明します。

■はじめに

 前回までは、Swiftを使ってプログラムを試すための準備について説明しました。連載第2回は、Swiftでの演算子の使い方と簡単になった文法について説明します。

 対象読者をObjective-Cが分かる方としている関係上、Objective-C自体の言語仕様やXcodeの使い方については解説を割愛する場合があることをご了承ください。同様にSwift自体の説明も必ずしも十分でない場合があります。そのような場合は末尾の参考文献等を参照してください。

■対象読者

 本記事は、次の方を対象にしています。

Objective-Cの基本的なプログラムが出来る方 Xcodeを使える方 ■演算子

 演算子についてはC言語の仕様通りにObjective-Cと同じ演算子が利用できます。Swiftでは範囲を扱う演算子、文字列を扱う演算子が追加されました。

●基本的な演算子

 よく利用される基本的な演算子を以下に示します。

算術演算子 演算子 利用例 概要 + a+b aにbを足す - a-b aからbを引く * a*b aにbをかける / a/b aをbで割る % a%b aをbで割った余り 比較演算子 演算子 利用例 概要 == a==b aとbが等しければ真 != a!=b aとbが等しくなければ真 <> a<>b aとbが等しくなければ真 > a>b aがbより大きければ真 < a<b aがbより小さければ真 >= a>=b aがb以上であれば真 <= a<=b aがb以下であれば真 論理演算子 演算子 利用例 概要 ! !a aが真であれば偽、aが偽であれば真 && a && b aが真、かつbが真の場合に真 || a || b aが真、またはbが真の場合に真 範囲演算子 演算子 利用例 概要 ... a...b aからbまで bを含む ..< a..<b aからbまで bを含まない 範囲演算子の利用は次の通りです。「..<」演算子は、最後の数を含めないため、配列のループカウントに利用すると便利です。

リスト1 範囲演算子の利用例(ViewController.swift抜粋)
var i:Int=0 // ...最後の数字まで処理を行う for i in 0...3 { println(i) } // 結果:「0」「1」「2」「3」を出力 var langs:Array<String> = ["Java", "PHP", "Perl", "Ruby"] // 最後の数字は含めずに処理を行う for i in 0..<langs.count { println(langs[i]) } // 結果:「Java」「PHP」「Perl」「Ruby」を出力
●Swiftで追加された演算子の利用例

 Swiftでは、以下のような演算子も追加されました。

●(1)文字列の結合

 Swiftでは文字列の結合に演算子を利用できます。Objective-Cと違って、Stringクラスの文字列結合メソッドを呼び出す等の処理は必要ありません。

リスト2 文字列の結合(ViewController.swift抜粋)
// 文字列の結合 var str = "iPhone" + "6" println(str) // 結果:「iPhone6」を出力
●(2)文字列の比較

 文字列の比較に「==」を利用できるようになりました。比較する対象は文字列同士で、文字列と数値等の型が違う変数は比較できませんので注意してください。

リスト3 文字列の比較(ViewController.swift抜粋)
var a:String = "東京" var b:String = "大阪" // 文字列を比較 if a==b { println("aとbは同じです") }else{ println("aとbは違います") } // 結果:「aとbは違います」を出力


CodeZine

この記事に関連するニュース

トピックスRSS

ランキング