19.0330

IntRange

IntRangeとは、
  型/タイプ
による、分類では、
  値型/value-type
になりますが、このことを、知っておくのは、最初に、設定する際、
  定義の方法 において、重要
だからです。
また、そうであるなら、前回やりましたが、== を使って、比較するときは、
  同じ内容かどうか
を、比較するはずです。
String型 は、値型 とは、言い難いですが、特別扱いなので、「内容を比べる」 のです。
そのことを確かめてみました

このコードを理解するためには、
  文字列テンプレート には、変数の計算であっても、適用できる
  例: "${ir1 == ir2}"
ということを、知っておく必要があります。

それが、分かっても、今までの知識を総動員しないと、難しいコードかもしれません。
ですが、とりあえず、
  IntRange は、値型/value-type である
よって、定義するときは、
  val intRangeX: IntRange = 1..3
のように、定義する。(詳細は、これから見ていきましょう。)
このことが分かっていれば、OKだと思います。
 (class/いわゆる設計図 で、オブジェクトを定義するときとは、やり方が違うのです)
 (もとい、Kotlin では、すべてがオブジェクトなのでした、ですが、
  昔の名残というか、いまでも、こんな風にもよく使います。
  「クラスをインスタンス化する」、「クラスを実体化する」 と言えば、誤解はないでしょう。)
もし、このページを、2回も、3回も、何周も、リピートして読んでくださるのであれば、
このコードを理解しようとしてみてください。


IntRange を、使う

ステップ1:定義 のやり方を確認する
  定義の方法は、今までやってきたやり方とだいたい同じです。
    val(変数ですよ) range(変数名): IntRange(型/タイプ) = 1..10(1から10までの整数を表します)
      // 1..10、この書き方を覚えてください!
        // たとえば、「3 から 330 まで」 なら、3..330 ですね。

ステップ2:例えば、あるInt型 が、1~100 まで の、数値 かどうか?を、調べる。
  IntRange型変数 testRange を、定義する
    val testRange: IntRange = 1..100
  テストする、二つの、Int型整数 を、定義する
    val testNumber1: Int = 90
    val testNumber2: Int = 105

  if/else文で、結果を表示する
    if(testNumber1 in testRange) {
      println("${testNumber1}は、1~100までの整数です")
    } else {
      println("${testNumber1}は、1~100までの整数ではありません")

    if(testNumber2 in testRange) {
      println("${testNumber2}は、1~100までの整数です")
    } else {
      println("${testNumber2}は、1~100までの整数ではありません")


では、これらのコードを、main()関数 の中で実行してみましょう。

まず、最初のポイントは、先ほど述べたように、
  IntRange型 変数 の、定義方法
です。
これは、今までのやり方と同じ。
(ただ、今後、class を、実体化 する時と、やり方が違うので、抑えておきたかったのです。)

次のポイントは、ステップ2 で、
  testNumber1 in testRange
と、書きましたが、
ここでの、
  in
の使い方が、とても大事なところです。
こんな感じですね。
  testNumber1 in/右の範囲の 中に ありますか? testRange
そして、Int型変数 in IntRange型変数
の、返す値は、
  Boolean型
になります。
なんとなく、難しいというか、イメージしにくいかもしれませんが、大事なところです。
つまり、true または、false
ですね。

ということで、それを、踏まえて、このコードを、もう一度考えてみてください。

おまけの話として、
  CharRange型、LongRange型
も、あります。
基本的には、同じ使い方です。
ただ、あまり覚えることが多すぎると、AndroidStudio の、
学習に移るのに時間がかかったり、その前に嫌になってしまうかもしれません。
今は、保留しておきます。

ゆとりのある方は、「やさしいKotlin入門」、、
この本は、入門者に向いているだけでなく、かなり深いところまで、学習できる本です、、
を、お勧めします。



まとめ
ステップ1:
  IntRange型変数の定義:
    val IntRange型変数名: IntRange = あるInt型リテラル..あるInt型リテラル
      例: val aruIntRange: IntRange = 3..9
       (あるIntRange型変数、aruIntRange を、3~9 の整数 に、定義しました)

ステップ2:
  例えば、Int型リテラル が、ある整数範囲 にあるのか確かめる:
    println(3 in aruIntRange)
      は、true を、コンソールに、プリントします。