19.0323

文字列テンプレート

文字列テンプレート/StringTemplates という名前からは、
どういうことをするのか、分かりにくいですが、
  変数 を、文字列 として表示する方法
です。
  Stirng型 でなくても、文字列 にしてくれます。
具体的には、
  "${変数}"
     // " を、付けるのを、忘れないでください。
こんな風に書きます。
一度、これを使って、コードを実行してみましょう。

コードテスト1: 文字列テンプレート、一番単純な形
// StringTemplates_01.kt
fun main(){
    val x: Int = 123
    println("${x}")
}
実行結果は、こんな風になります。

でも、これは、ほとんど意味がありません。
なぜなら、println() は、引数/かっこの中に入れるもの に、
Int型 を、サポートしているので、単に、
  println(x)
で、OKなのですから。
英語のページですが、ハイライトされている部分を、見れば分かると思います。

では、どんな時に使うのかというと、文字列/String型 と、一緒に使いたい時 というのが、
一番多い使い方だと思われます。

例えば、
  今日は23日です。
という、文字を表したいとき、
「23」 というのは、毎日変わるので、
  var day: Int = 0
のようにしておいて、
その日に合わせて、変数day に、代入した方が、
便利だと思います。(例えば、カレンダープログラムの一部だとして)
私は、まだ、カレンダープログラム を、作れないのになんですが、
まあ、そのコードの一部として、考えてみましょう。

コードテスト2:文字列テンプレート を、他の文字列に混ぜる
// StringTemplates_02.kt
fun main(){
    var day: Int = 0
    day = 23
        // = を、使って、day の、値を決めます。
        // このことを、代入 と、言います。
        // var で、定義したので、値を変更できます。
    println("今日は、${day}日です。")
    println()    // 単に改行したいときは、このように書きます。
    println("今日は、dayです。")
        // これでは、day は、day で、変数の役割を果たしていない。
}
実行結果は、こうなります

この他にも、+演算子(普通は、数値 の足し算に使う)を、使って、
実行する方法もありますが、
このやり方から始めた人は、きっと、そのやり方では、
もう、やってられないやと、思うと思われますので、
そのやり方は、省略します。
そのやり方が残されているのは、そのやり方に慣れている人のためだと思われます。
私も、文字列テンプレート を、少し使っただけですが、
前のやり方で書こうとしたら、バグってしまいました。
私も、もう、+演算子 では、やってられなくなりました。

あと、文字列テンプレート で、{}を、省略するやり方もあるのですが、
これは、日本語を多く使う限り、余計に間違いやすくなると思われますので、
これも、省略させていただきます。
どうしても知りたい方は、これに関しては、簡単に調べられると思います。

まとめ
文字列テンプレート の、使い方:
  "なになに、これこれ、そして${変数}です。"