範囲を構築する
数値の並びを生成します。
「範囲を構築する」はCoddyKit上の無料Scala for Backend Engineering & Functional Programmingレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはScala for Backend Engineering & Functional Programming学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Scala for Backend Engineering & Functional Programmingコースには全4レッスンが含まれています。
レンジとは
レンジは、1、2、3、4、5のように、一定間隔で並んだ整数の順序付き列を表します。
レンジはすべての数値ではなく、開始値、終了値、ステップだけを保持するため、メモリ効率に優れています。カウントやループに最適です。
toキーワード
最も単純なレンジではtoを使い、両端の値を含めます。
したがって1 to 5は1、2、3、4、5を表します。最後の数値もレンジに含まれます。
val r = 1 to 5
println(r)包含レンジ
toレンジは上限値を含むため、包含レンジと呼ばれます。
簡略化された表現ではなく実際の数値を確認するには、レンジをリストに変換できます。
val r = 1 to 5
println(r.toList)untilキーワード
上限値の直前で止めたい場合はuntilを使います。
したがって1 until 5は1、2、3、4となり、5は含みません。これは終端値を排他的に扱います。
val r = 1 until 5
println(r.toList)toとuntilの違い
違いは最後の数値だけです。toは終端値を含み、untilは含みません。
1 to 5は5要素、1 until 5は4要素です。適切なほうを選ぶと、1つずれるバグを防げます。
println((1 to 5).toList)
println((1 until 5).toList)byでステップを指定する
レンジはデフォルトで1ずつ進みます。byを追加するとステップ幅を変更できます。
ここでは0から10まで2ずつ数えるため、偶数が生成されます。
val evens = 0 to 10 by 2
println(evens.toList)カウントダウン
負のステップを使うと、レンジを逆方向に進められます。
by -1を指定すると、レンジは大きい値から始まり、減少していきます。逆順に反復する標準的な方法です。
val down = 5 to 1 by -1
println(down.toList)レンジのサイズ
sizeを使うと、レンジに含まれる要素数を確認できます。
すべての数値を列挙せず、範囲とステップからすぐに計算されます。
val r = 0 to 20 by 5
println(r.size)要素の有無を確認する
containsメソッドは、値がレンジ内に含まれるかどうかを示します。
ステップも考慮されるため、偶数のステップ2レンジには3は含まれません。
val evens = 0 to 10 by 2
println(evens.contains(4))
println(evens.contains(3))レンジはコレクション
レンジは他のシーケンスと同じように動作するため、要素に対してmapやsumを適用できます。
ここでは明示的なリストを先に作成せず、各数値を二乗して結果を合計しています。
val total = (1 to 4).map(n => n * n).sum
println(total)空のレンジ
開始値がすでに終了値を超えている場合、レンジは単純に空になります。
たとえば5 until 5には何も含まれません。空のレンジも有効であり、ループしても要素を生成しません。
val r = 5 until 5
println(r.isEmpty)確認問題
レンジの作成について学んだことを確認しましょう。
まとめ
to(包含)とuntil(排他)でレンジを作成し、byでステップを調整し、負のステップでカウントダウンする方法を学びました。
レンジは軽量なコレクションで、size、contains、mapをサポートしています。次はレンジを使ってループを動かします。
よくある質問
「範囲を構築する」レッスンは無料ですか?
はい。「範囲を構築する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Scala for Backend Engineering & Functional Programmingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Scala for Backend Engineering & Functional Programmingコースには全4レッスンが含まれています。
「範囲を構築する」で何を学びますか?
数値の並びを生成します。 ブラウザで直接実行するハンズオンコードでScala for Backend Engineering & Functional Programmingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Scala for Backend Engineering & Functional Programmingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのScala for Backend Engineering & Functional Programmingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「範囲を構築する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このScala for Backend Engineering & Functional Programmingレッスンでコードを書いて実行できますか?
はい。すべてのScala for Backend Engineering & Functional Programmingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。