文字列入門
文字列についてはJS入門でも少しやりましたが、ゲームよりAndroidアプリの方が文字列を良く使うので、ここであらためて見ておきましょう。
といっても文字列はいろんな機能があるので、最初に全部やるのは大変です。 ここでは、ドラクエIIIに例えるととりあえず船取るくらいまで通じる程度の入門をしたいと思います。
まず文字列はダブルクオートで囲んだものです。"ほげほげ"などが文字列です。
型としてはString型です。
改行は\n(Windowsだと¥n)
文字列の中に改行を入れる事が出来ます。改行はバックスラッシュとnで書きます。Windowsだと半角の¥記号とnです。 (バックスラッシュはホームページ上でトラブルを生みがちなので説明では全角で書いています)
改行ってなんやねん?と思う人もいると思うので、見てみるのがいいです。
このバックスラッシュとnというのを入れると、次の行に行く感じです。
文字列の連結は「+」
文字列をつなぎ合わせるのはプラス記号(+)です。
こんな感じでつなげる事が出来ます。"1"+"2"は3では無く"12"になる事に注意しましょう。
varと+=で連結
kotlinには+=というのもあります。
少しややこしいですが、
a += b
は、以下と同じ意味です。
a = a + b
慣れないうちはいつも頭の中で下になおして考えましょう。
そしてこの+=は変更した結果をまた同じ変数に代入するので、いつもvarになります。
+=を使う時はvar、と覚えておくといいかもしれない。
以下例を見てみましょう。+=は、複数ある文字列をつなげる時に良く使います。
sがvarなのに注目。こういう風に+=を使う変数はvarにしないといけない(上のコードをvalに変更してとどうなるか試してみよう)。
これだけだとなんでこんな事するの?って感じですが、Listとかfor文が出てくるともうちょっと意味が分かります。 以下はコレクションとforループをやるところで説明しますが、こんな感じで使う、という雰囲気を感じ取るべく載せておきます。
こんな感じで、リストの文字列を全部つなげたい、みたいな時に+=を使うと便利です。
なお、別に上のコードの+=のところを、以下のように書いても構いません。
s = s + item
つまりこんな感じ。
いいんだけど、普通は+=で書くかな。
String template
文字列の中にドルと変数名でString templateです。
変数の切れ目がkotlin側に分かるように空白など(カンマとかでも平気)が必要になる場合があります。(上の例で空白を削除して実行してみよう)
空白を開けたくないときやもっと複雑な式を入れたいときは中括弧でくくります。
結構便利なので良く使います。
Raw string
ダブルクオート三つでraw stringと呼ばれるもになります。
こういう風に複数行をバックスラッシュnとかいっぱい入れずに書けてちょっと便利という機能ですが、 後編のテキスト処理入門まで使わないので、 最初の時点では「こんな機能もあるらしい」くらいに薄っすらと覚えておけば十分です。