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

制御構造と関数

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

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

  1. Scalaを始める
  2. 基本構文と型
  3. 制御構造と関数
← Scala for Backend Engineering & Functional Programmingに戻る