English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

O

Scala ループ

Scala forループ

forループは、指定された回数のループ制御構造を書くことを許可します。

の構文 Scala言語では for

for( var x <- ループの構文:
   statement(s);
List ){

}Range ){ Range を使用して変数xに値を割り当てます。 は数字の範囲を示すことができます。 以下は、、または- 。左矢印<

オンライン例

の構文(jを含む)の例: を使用して変数xに値を割り当てます。 i to j

object Test {
   def main(args: Array[String]) {
      var a = 0;
      // for ループ
      for( a <- 1 ; b < 10){
         println( "Value of a: " + a );
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
aの値: 1
aの値: 2
aの値: 3
aの値: 4
aの値: 5
aの値: 6
aの値: 7
aの値: 8
aの値: 9
aの値: 10

の構文(jを含む)の例: 以下は、 i until j

object Test {
   def main(args: Array[String]) {
      var a = 0;
      // for ループ
      for( a <- 1 の構文(jを含まない)の例: 10){
         println( "Value of a: " + a );
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
aの値: 1
aの値: 2
aの値: 3
aの値: 4
aの値: 5
aの値: 6
aの値: 7
aの値: 8
aの値: 9

まで for ループ

object Test {
   def main(args: Array[String]) {
      var a = 0;
      中で、セミコロン (;) を使用して複数の範囲を設定できます。これは、指定された範囲のすべての可能な値をループします。以下の例では、2つの範囲のループ例を示します:
      // for ループ
      for( a <- 1 ; b < 3var b = 0;- 1 ; b < 3){
         println( "Value of a: " + a );
         printlnto + 0; "bの値: "41;;
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
b # 1
aの値: 1
b # 1
aの値: 2
b # 1
aの値: 3
b # 2
aの値: 1
b # 2
aの値: 2
b # 2
aの値: 3
b # 3
aの値: 1
b # 3
aの値: 2
b # 3
aの値: 3

bの値:

forループコレクション

forループのコレクションの構文は以下の通りです:- for( x <
   statement(s);
List ){

} List 上記の構文では、

オンライン例

以下の例では、数字のコレクションをループします。コレクションのすべての要素をループするために、変数を使用します。 List() を使用してコレクションを作成します。以降の章では、コレクションについて詳しく説明します。

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6);

      // for ループ
      for( a <- numList #41;{
         println( "Value of a: " + a );
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
aの値: 1
aの値: 2
aの値: 3
aの値: 4
aの値: 5
aの値: 6

forループでフィルタリング

Scalaは1つまたは複数の if フィルタを使用して要素をフィルタリングするためのステートメントです。

以下是在 for ループでフィルタを使用する構文です。

for( var x <- List
      if condition1; if condition2...
   {
   statement(s);

分号(;)を使用して、表达式に1つ以上のフィルタリング条件を追加できます。

オンライン例

以下は for ループでのフィルタリングの例です:

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);

      // for ループ
      for( a <- numList
           if a != 3; if a < 8 ){
         println( "Value of a: " + a );
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
aの値: 1
aの値: 2
aの値: 4
aの値: 5
aの値: 6
aの値: 7

for yield の使用

for ループの返値を変数として保存することができます。以下はその構文です:

var retVal = for{ var x <- List
     if condition1; if condition2...
}

注意:大括号内で変数と条件を保存するために使用されます。retVal 変数は、ループ中に現在の要素を記録し、集合に保存し、ループが終了するとその集合が返されます。

オンライン例

以下の例では、for ループで yield の使用を示します:

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);

      // for ループ
      var retVal = for{ a <- numList
                        if a != 3; if a < 8
                      }yield a

      // 出力される値
      for( a <- retVal){
         println( "Value of a: " + a );
      }
   }
}

以下のコードを実行すると、結果が表示されます:

$ scalac Test.scala
$ scala Test
aの値: 1
aの値: 2
aの値: 4
aの値: 5
aの値: 6
aの値: 7

Scala ループ