tetu式

ゲームと音楽・作曲の自己満足と悩みどころの多いプログラムのブログ。

XcodeのPlaygroundとようやくSwift2.0を試してみる

今回からようやくまともにSwiftに触ります。

Playgroundってなんぞやって言ったら・・・
Swiftでの開発を快適にする開発環境?みたいな感じです。
大きな特徴としては変数の中身がビルド実行しなくても
確認ができるってことでしょうか。

習うより実際やってみる方がいいですね。


まずはPlaygroundのプロダクト作成。
Xcodeを開いてGet started with a playgroundをクリック。
そしたらプロダクト名を入力してくださいを言われるので
適当に名前つけておきましょう。
PlatformはiOSにしておきましょう。

で・・・前回までのSingleViewとは違ってplaygroundってのは
フォルダが作られないんですね。
保存したところを見るとplaygroundっていう拡張子
ファイルが出来上がってます。

で、作成されたらXcodeがエディターを開くわけなんですが・・・


f:id:stickpan:20160125192300p:plain


もうすでにHello,World.的なものが入ってますね。
で、その右側に"Hello, playground"と書かれてます。
この内容が変数になにが入っているのか?という内容になってます。

今は文字列をそのまま表示していますが

f:id:stickpan:20160125192759p:plain

こんな風に数値と計算式を入れるとその結果も表示されます。
実行結果みたいなのを出したいときは


f:id:stickpan:20160125193738p:plain


右上の赤枠部分をクリックして画面下部にコンソールを表示させればOK。
printって言うのが引数をコンソールに表示する関数です。

変数の中身なんですが、末尾に\nっていう改行コードが入ってますね。
他の言語や以前のSwiftでは改行入りの関数はprintln()なのですが、
Swift2.0ではprintがデフォルトで改行付きのコンソール表示になっています。
で、引数に表示するもの以外にも渡してあげることでいろいろ設定ができます。

その辺りについてはこちらの記事にまとまってます。

terminatorに""を入れてあげることで改行なしのprintが使えるようになります。

他の言語では引数がカンマ区切りになっていて、
関数の実装部分を見に行かないと何番目の引数がどういう
役割に使われているのかってのが分かりにくいのですが、
Swiftの関数の書き方は渡す引数に名前を指定する必要があるので
入力する文字が多い分、実装先を見なくても分かるようになってますね。

f:id:stickpan:20160125195227p:plain

また、独特な点として、引数に名前を用いることから
順序がいい加減でもコードが通ったりしちゃいます。
terminatorとseparatorの書く順序が逆でもエラー無しで同じ結果になります。
この辺り、しばらくPHPばっかりやってきた身としては結構驚愕の仕様。

この関数呼び出し時に名前を指定する引数を外部引数名と言うらしいです。
外部引数ってだけで調べるとコマンドライン引数とかひっかかりますが
全然別物です。

今回はこんなところで。
次回は変数の宣言について。
今回はvar 変数名= 何か;
というJavascriptみたいな書き方してますが、
実際は宣言時に変数型が決定されてます。

こういうのやった事ない訳ではないですがPHPに慣れてると

すごくめんどい・・・

でも安全に変数使う為にはこっちの方が断然いいです。