コメント
コメント (comment) はソースコードの中に書き残しておく、任意のメモのことです。
他のプログラミング言語でも何らかの方法でコメントを書くことができるようになっていますが、Swift でも もちろんコメントを記述できるようになっています。
また、プログラムコードの一部をコメント扱いにして、一時的に実行させないようにしておくことを「コメントアウトする」というような 言い方をしますので、覚えておくと良いと思います。
単一行のコメントアウトと複数行のコメント
さて、Swift のコメントの書き方ですが、基本的に C スタイルおよび C++ スタイルの両方をサポートしています。 しかしながら、振る舞いが他の言語とちょっと違う独特なところもありますので注意が必要です。
まずは単一行のコメントアウトは次のように、スラッシュ二つ // に続けて記述します。 スラッシュ二つ続いたら、その行のその後ろの部分はコメントとして扱われます。
このスタイルはよく 「C++ スタイルのコメント」という言い方をします。
複数行のコメントを書くには /* と */ で囲みます。
このスタイルはよく「C スタイルのコメント」という言い方をします。
この書き方は C/C++ 言語だけでなく、C#、Java、 JavaScript など多くの言語で採用されているので、 慣れている人も多いと思います。
ところが、Swift では少し独特の振る舞いをするので、注意が必要です。
Swift のコメントはちょっと違う
他の言語を使っていない人は気にならないと思いますが、Swift ではコメントのネストの仕方が違うので注意が必要です。
例えば次は JavaScript の例ですが、JavaScriptでは次の例のようにコメントアウトできます。色のついた箇所は有効な行。白黒のところはコメントアウトされているところです。
ちなみに Swift 以外の言語で、C 系のコメントスタイルをサポートしているときは複数行をコメントアウトしたりしなかったりするために、//* と //*/ のように、 単一行、複数行のコメントアウト記号を組み合わせて使われることが多いです。こうしておくと、コードブロックのコメントアウトの有効・無効を簡単に切り替えることができるからです。
コメントアウトするのをやめようと思えば、最初の /* を //* とすればよいのです。
ところが Swift で同じことができません。Swiftではコメントブロックの終端を示す */ も // でコメントアウトされてしまいます。このために、 コメントブロックが終了せずに意図しないところまでコメントアウトされてしまいます。
このように // で */ もコメントアウトされてしまう点がひとつ。
それから、Swift では C スタイルのコメントがネストできる点も違うところです。他の多くの言語ではコメントブロック内の /* はコメント扱いされるために、 ネストするという考えはありませんでした。
ところが、Swift では次のようにコメントブロック内で、さらにコメントブロックを作れるので次のようなネストができます。
以上、ここでは Swift のコメントについて説明しました。