18.10.10
少しずつ、Kotlin に触れてみて、感じたのは、 「さりげない親切に満ちたKotlinですが、実は、とても考え抜かれた結果なんだなあ」
と、まああいまいな感想ですが、そんな感じがしている今日この頃です。

さて今日も、「やさしいKotlin入門」 から学習したことについて書いてみたいと思います。

配列と、for文 の組み合わせにおいて、その内容を表示することに関して、近頃では、ずいぶん簡単に書けるようになってきていると思いますが、
Kotlin を使うと、「配列のインデックス」も、簡単に付けられるようです。

この書籍のコードをそのまま使うのは、少し芸がないので、無理やり自分でも考えてみました。
「福引ガラガラ抽選器」などの、1頭から5等までの景品を、順に並べて配列にしてみます。
この時、「普通に書いた場合」 と、「配列のインデックスを使えるやり方」 の2通りを書いてみて、比べてみようと思います。

まずは、配列のインデックスを簡単につけられる方法をとらない場合です。

fun main(args: Array<String>) {
    val prize: Array<String> = arrayOf("プレイステーション", "ラジコンヘリコプター", "公式ことりんTシャツ", "冷凍たこ焼き10パック", "スクラッチ宝くじ5枚")
    var index = 0
    for(something in prize) {
    ++index
        println("${index}等は、${something}です。")
    }
}

結果はこうなります:

1等は、プレイステーションです。
2等は、ラジコンヘリコプターです。
3等は、公式ことりんTシャツです。
4等は、冷凍たこ焼き10パックです。
5等は、スクラッチ宝くじ5枚です。


それでは、今度は、「インデックスを簡単に付けられる方法」 でやってみましょう。 そのためには、
  景品の配列変数 prize に、.withIndex() を付ければ、OKです。
本書にもありましたが、この使い方は、「こういうものだと受け入れて」 と書いてありましたが、 私もそれが正解だと思います。
どうしてそんなことができるのかを考えてもしょうがないというか、
そういう仕様にしたとしか、言えないと思いますから。
こんなコードになります:

fun main(args: Array<String>) {
    val prize: Array<String> = arrayOf("プレイステーション", "ラジコンヘリコプター", "公式ことりんTシャツ", "冷凍たこ焼き10パック", "スクラッチ宝くじ5枚")
    for((index, something) in prize.withIndex()) {
        println("${index+1}等は、${something}です。")
    }
}

これで、少しコードが短くなっただけでなく、実行結果をイメージしやすくなっていると思います。
今日はここまでです。これからも、ちょっと書きたいけど、ちょっと面倒だとは思わず、ちょっと書いてみます。
また読んでください。