制御構造と関数
Scalaの条件式(if/else)、ループ、簡単な関数の定義について学びます。
「制御構造と関数」はCoddyKit上の無料Scala for Backend Engineering & Functional Programmingレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはScala for Backend Engineering & Functional Programming学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Scala for Backend Engineering & Functional Programmingコースには全3レッスンが含まれています。
コードの流れを導く
プログラムを旅にたとえてみましょう。左に曲がるか右に曲がるかのように、判断が必要になることがあります。また、何歩も歩くように、同じ動作を繰り返す必要がある場合もあります。
制御構造は、コードに判断や動作の繰り返しを行わせるための仕組みです。文を実行する順序を決め、プログラムの流れを導きます。
条件分岐:If/Else
最も基本的な制御構造は、if/else式です。条件が真か偽かに応じて、異なるコードブロックを実行できます。
Scalaでは、ifは式であり、常に値を返します。多くの言語ではifは単なる文であるため、これは強力な機能です。
If/Elseを実際に使う
if/elseの動作を見てみましょう。この例では、数値が5より大きいかを確認し、その結果に応じて文字列を割り当てます。
object Main {
def main(args: Array[String]): Unit = {
val x = 10
val result = if (x > 5) {
"Greater"
} else {
"Smaller"
}
println(result)
}
}複数の条件を扱う
可能性が2つより多い場合はどうすればよいでしょうか。else ifを使って複数の条件を連結し、より複雑な判断の流れを作成できます。
コードは条件を順番に確認します。評価結果が最初にtrueになった条件のコードブロックが実行され、残りはスキップされます。
動作の繰り返し:Whileループ
特定の条件を満たさなくなるまで、コードブロックを繰り返し実行したい場合があります。そのようなときにループが役立ちます。
whileループは、条件がtrueである間、コードブロックを繰り返し実行します。条件が常に真のままになり、無限ループが発生しないよう注意してください。
Whileループの例
この単純なwhileループは、メッセージを3回表示します。ループ内で変数iが更新され、最終的に条件i < 3が偽になることに注目してください。
object Main {
def main(args: Array[String]): Unit = {
var i = 0
while (i < 3) {
println(s"Count: $i")
i = i + 1
}
}
}For式による反復
Scalaのfor式は、反復処理に非常に柔軟に使えます。範囲やコレクションを反復処理したり、値をフィルタリングしたりできます。
ここではまず、単純な数値の範囲を反復処理する方法に注目しましょう。toキーワードは、終端を含む範囲を作成します。
Forループのコード例
これは1から3まで(3を含む)を反復処理し、各数値を表示するforループです。決まった回数だけ反復的な処理を行う一般的な方法です。
object Main {
def main(args: Array[String]): Unit = {
for (i <- 1 to 3) {
println(s"Number: $i")
}
}
}独自の関数を定義する
関数は、特定のタスクを実行するよう設計されたコードブロックです。コードの整理や再利用、理解しやすさに役立ちます。
Scalaでは、defキーワードに続けて、関数名、パラメーター(型付き)、省略可能な戻り値の型を記述して関数を定義します。関数がUnit(何も返さない)を返す場合、戻り値の型は省略できます。
単純な関数の例
2つの整数を受け取り、その合計を返すaddという関数を定義しましょう。mainメソッドから関数を呼び出している点に注目してください。
object Main {
def add(a: Int, b: Int): Int = {
a + b
}
def main(args: Array[String]): Unit = {
val sum = add(5, 3)
println(s"The sum is: $sum")
}
}クイックチェック:制御フロー
次のScalaコードは何を表示するでしょうか?
まとめ:制御と関数
よくできました!このレッスンでは、コードの実行を導く方法を学びました。
if/else式:判断を行い、条件に応じた値を返します。whileループ:条件が真である間、動作を繰り返します。for式:範囲やその他のシーケンスを反復処理します。- 関数の定義:再利用可能なコードブロックをまとめます。
これらはあらゆるプログラムの基本構成要素であり、動的で整理されたアプリケーションを作成できます。
よくある質問
「制御構造と関数」レッスンは無料ですか?
はい。「制御構造と関数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Scala for Backend Engineering & Functional Programmingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Scala for Backend Engineering & Functional Programmingコースには全3レッスンが含まれています。
「制御構造と関数」で何を学びますか?
Scalaの条件式(if/else)、ループ、簡単な関数の定義について学びます。 ブラウザで直接実行するハンズオンコードでScala for Backend Engineering & Functional Programmingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Scala for Backend Engineering & Functional Programmingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのScala for Backend Engineering & Functional Programmingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。
「制御構造と関数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このScala for Backend Engineering & Functional Programmingレッスンでコードを書いて実行できますか?
はい。すべてのScala for Backend Engineering & Functional Programmingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。