Swift Playgroundsで学ぶiOSプログラミング

【準備編】Xcode版Playgroundのセットアップ

文●柴田文彦 編集●吉田ヒロ

2016年08月15日 17時00分

Playgroundを電卓代わりに使ってみよう

 この秋に公開されるiPad版よりも一足早くPlaygroundによるSwiftの学習が始められるXcodeの準備は整ったでしょうか。

 プログラミングを学ぶのにPlaygroundは、しかけとして大掛かり過ぎるのではないかと思われるかもしれません。しかし、Playgroundは現在の地球上で、初心者が最も効果的にプログラミングを学習できるツールだと思って間違いありません。

 あるいはPlaygroundのような回り道をせずに、最初からiOSアプリのプログラミングを学習したほうが良いのではないかと思われるかもしれません。しかし、プログラミングの初心者がいきなりiOSアプリを作成しようと考えるのは無謀というものです。

 Playgroundは、初心者から上級者まで、プログラミングの学習からアプリの試作まで、無理なく有効に活用できる稀有のツールです。安心して学習を進めてください。

ウィンドウ操作についてちょっとだけ

 前半では、Xcodeを起動してPlaygroundのウィンドウを開くところまでしか進みませんでした。その際に、Playgroundウィンドウの左側にSwiftのソースコードを書くと、その結果が右側に表示される、ということを説明しました。このウィンドウには、周辺部分にいろいろなボタンが配置されていて、それぞれ機能を持っています。

 実際のプログラミングの学習に入る前に、それらについてひととおり説明するというやり方もありますが、よく意味がわからないうちに使い方を説明されても頭に入らないでしょう。この連載では、それらの操作が必要になった時点で、そのつど説明することにします。

 というわけで、現状ではまだPlaygroundのウィンドウ操作はほとんど必要ないのですが、今回は手始めにひとつだけ説明しておきましょう。それは左下の角から2番目にある青い右向き三角形です。これは一種の「再生」ボタンであることがひと目でわかるようなデザインになっています。

Playgroundウィンドウの左下には青い「再生」ボタンがあります

 初期状態では青い色で塗りつぶされた状態になっているはずです。その状態では「Automatically Run」、つまり「自動実行」に設定されています。この場合、Playgroundに入力したソースコードを変更すると、必要に応じて自動的にプログラムが実行されます。このボタンをクリックして、好きなタイミングで手動実行することも可能です。

 一方、このボタンを長押しすると、メニューが表示され、「Automatically Run」と「Manually Run」(手動実行)のいずれかを選択できます。

ボタンを長押しするとメニューが表示されます

 後者を選ぶと右向き三角形は白抜きでグレーの縁取りのデザインに変わります。この状態ではプログラムを編集しても自動実行はしません。このボタンをクリックしたときにだけ動作するようになります。

「手動実行」にセットすると色のない「再生」ボタンになります

 もし、プログラムを変更しても、結果が自動的に更新されなくなったりした場合、何かのはずみでこの設定が「Manually Run」になってしまっていないか、確認してみましょう。

数式を打ち込んでみよう

 さて、今回はまだプログラミングと言えるような段階には進みませんが、Playgroundが単なるテキストエディタではなく、その後ろでSwiftが動作していることを実感するところまでは行きましょう。

 前半で示したPlaygroundの初期状態では、

var str = "Hello, playground"

 という簡単なプログラムがあらかじめ入力されていました。この意味を説明したいところですが、そこから始めると長くなるので、このプログラムは消してしまいます。その変わりに、何か数字を打ち込んでみましょう。ひとつではなく、「return」キーを押しながら、いくつか打ち込んでみます。

Playgroundにいろいろな数字を打ち込んでみましょう

 これはまだプログラムではないのですが、Swiftは打ち込まれた数字に反応して、右側には、同じ数字を表示しています。これは、Swiftがその数字が表している値を認識したことを示しています。いわば復唱しているようなものです。

 次に、数字と加減乗除の記号を組み合わせた数式を打ち込んでみましょう。Swiftをはじめとする多くのプログラミング言語では、かけ算は×ではなくアスタリスク(*)、割り算は÷ではなくスラッシュ(/)で表します。もちろん足し算はプラス(+)、引き算はマイナス(-)です。いずれも半角の記号で表します。掛け算、割り算 を足し算、引き算よりも先に実行するのは、一般の数式と同じです。式の途中にカッコを入れて、式の計算順序を変更することもできます。

加減乗除(+, -, *, /)の記号を使って、数式を打ち込んでみましょう

 飽きるまで、いろいろと試してみてください。もちろん結果が負になることもありますし、小数点以下の数字が出ることもあります。割り切れない場合、コンピューターは結果を途中で切り捨ててしまいます。

 ひとつ注意を要するのは、Swiftを含むほとんどのプログラミング言語では、ゼロ(0)での割り算は許されていません。コンピューターには無限大という概念がないのです。ゼロでの割り算は無条件でエラーとなります。これは今後一生つきまとう制限なので、今のうちに慣れておきましょう。

ゼロでの割り算は必ずエラーになります

関数も使えるの?

 これだけでも簡単な電卓代わりに使えます。それなら少し高級な電卓にあるような関数はどうでしょうか。もちろん使えます。ただし、その表記方法は、プログラミング言語特有のものとなります。関数の名前の後ろに、スペースを空けずに「(」を書き、その後ろにその関数に計算させたい数値を書き、さらに「)」で閉じます。例えば、電卓にもよくあるルート(√)は、sqrt()という関数で計算します。

sqrt()という関数を使えばルート(√)の計算もできます

 ほかにも、三角関数のサイン(sin())、コサイン(cos())、タンジェント(tan())など、多くの関数が用意されています。
 このような関数をいろいろと試していると、おかしなことに気づくかもしれません。関数名の後ろのカッコの中に入れる数字によってはエラーが発生して計算してくれないことがあります。例えば、cos(0.0)とすれば結果は1となるのに、cos(0)ではエラーになってしまいます。

三角関数も使えますが、カッコの中の数字によってはエラーとなります

 こうした現象から気づくのは、今回紹介した関数の場合、カッコの中には小数点を含む数字を入れないと計算してくれないということです。0は0.0、1は1.0と書かないとだめです。ここから言えるのは、数学の一般的な常識では、0と0.0、1と1.0に違いはないはずですが、コンピューターとしては大きな違いがあるらしい、ということです。

次回の予定

 コンピューターの場合、同じ値を表すはずの数字にも、何らかの種類があるようだという疑惑が浮上してきました。次回はそのあたりの事情を説明し、その違いを理解した上で、だんだんとプログラミングの第一歩に近づいていきましょう。

mobileASCII.jp TOPページへ

mobile ASCII

Access Rankingアクセスランキング