0Pricing
Scala for Backend Engineering & Functional Programming · レッスン

範囲を構築する

数値の並びを生成します。

「範囲を構築する」は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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. タプルを作成する
  2. タプルを分解する
  3. 範囲を構築する
  4. ループで範囲を使う
← Scala for Backend Engineering & Functional Programmingに戻る