前回の記事のプログラムの機能や構造を説明します。Hello Playgroundのプログラムは次のようなものでした。
//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
print(str)
このたった数行のプログラムには、とても重要な要素がいくつも含まれています。その基本的な要素は以下のようなものがあります。
- コメント
- ライブラリのインポート
- 変数の宣言
- 文字列
- 関数の呼び出し
それでは、この4つの要素を見ていきましょう。
コメント
まずはプログラムの1行目に注目しましょう。
//: Playground - noun: a place where people can play
これは、「コメント」です。「コメント」は、プログラム内にそのプログラムについての説明や作成者、著作権についてなど、様々なコメントを記入する機能です。「コメント」はプログラム本体の動きそのものには関係ありません。実際にプログラムが処理される際には、「コメント」の部分は完全に無視されます。Swiftには2種類の「コメント」の書き方があります。
// の後、その行の最後までがコメント
/* これで囲まれている部分がコメント
複数行になっていてもOK */
「コメント」はプログラムが処理される時に無視されるので、プログラムの一部を試しに無効にしてみたり、少し変更して見たりする時にも利用できます。これを「コメントアウト」と言います。
//: Playground - noun: a place where people can play
import UIKit
/* 試しに Hello, playground ではなく
Change str にしてみる */
var str = "Change str" // "Hello, playground"
print(str)
ライブラリのインポート
それでは、次に3行目を説明します。
import UIKit
このプログラムは「UIKitというライブラリを読み込むで使えるようにする」という意味です。「ライブラリ」とは、色々なプログラムで共通して利用するプログラムをまとめて簡単に使えるようにしたのもです。Swiftでは、初めからよく使うような機能は初めからライブラリが用意されています。また、フリーのライブラリをダウンロードして、自分のプログラムで使ったりして効率的に開発することもできます。
変数の宣言
5行目では、「str」という名前の「変数」を用意しています。
var str = "Hello, playground"
「変数」は数学などでもでてくる言葉ですが、プログラムでも数学と同じように値(やデータ)の入れ物としての役割を果たします。最初の「var」は「今から新しく変数を使うよ」ということをプログラムに教えるためにつけているものです。これを「(新しく変数を使うことを)宣言する」と言います。varは英語で変数を意味する「variable」の略です。ここでは、「str」という名前の変数を宣言して「”Hello, playground”」という値を入れています。この「変数に値を入れる」ことを代入と言います。これも数学と同じですね。ただし、代入の記号は「=」で、「左から右に代入する」という意味になります。これは数学の「右と左は同じ」という意味とは違うので注意しましょう。(プログラムで右と左が同じことを表すには「==」と=を2つ繋げたものを使います)
また、あとで詳しく説明しますが、変数に初めて具体的に代入することには特別な呼び方があり、「初期化」と言います。
文字列
変数strに代入されている値は「Hello World」という文章です。ブログラムの世界ではいわゆ「文章」のことを1文字1文字が1列に並んでいるデータという意味で「文字列」と呼びます。文字列は英語でいうと「string」なので、変数名にとしてstrがよく使われます。また、文字列は必ず「”(ダブルクォーテーション)」で囲まなければいけません。varのようなプログラムの一部なのか、文字列というデータなのかを区別するためです。
var str = "var str"
上の例では、最初の「var str」は「strという名前の変数を宣言する」というプログラムです。一方、次の「”var str”」は「var strという文字列」です。これは、全く違うものなので注意しましょう。
関数の呼び出し
最後に7行目についてです。ここでは、printという「関数」にstrという「引数」を渡して実行するという処理をしています.
print(str)
この「関数」というのは数学でいう関数と同じで、「何か値を入れると(入力)、色々な処理をして(処理)、その結果が返ってくる(出力)」という一連の機能に名前をつけたものです。printという名前の関数は、初めから用意されているものの一つです。この関数は「入力されたデータを画面(コンソール)に表示する」という機能を持っています。ここでは、strという変数を入力として渡しています。strにはあらかじめHello playgroundという文字列データが代入されているので、画面下のコンソールに「Hello playground」と表示されます。
まとめ
たった数行のプログラムに、色々な意味があってわけがわからないという人もいるかもしれません。(しかも、ただ真っ黒な画面に文字をだすだけのプログラムなのに!)
ですが、やっていくうちにだんだんと慣れていって、プログラムの独特な考え方や使い方に違和感がなくなっていくだろうと思います。最後に、ここで説明した内容と実際のプログラムを再確認しましょう。
//: Playground - noun: a place where people can play
// UIkitというライブラリをインポートして使えるようにする
import UIKit
// 変数strを宣言してHello, playgroundという文字列を代入する
var str = "Hello, playground"
// 関数printにstrを入力して、strの中身をコンソールに表示する
print(str)