Scala for cycle


Release date:2023-11-15 Update date:2023-11-16 Editor:admin View counts:148

Label:

Scala for cycle

A for loop allows you to write a loop control structure that executes a specified number of times.

Grammar

In Scala language for the syntax of the loop:

for( var x <- Range ){
   statement(s);
}

In the above grammar Range can be a number interval representation. i to j , or i until j . The left arrow <-is used to assign values to thevariable x.

Example

The following is an example that uses the i to j an example of the syntax (including j):

Example

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

The output result of executing the above code is:

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

The following is an example that uses the i until j an example of the syntax (excluding j):

Example

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

The output result of executing the above code is:

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

In for the loop you can use the semicolon (;) to set multiple intervals, which will iterate over all possible values for a given interval.The following example shows an example of a loop in two intervals:

Example

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

The output result of executing the above code is:

$ scalac Test.scala
$ scala Test
Value of a: 1
Value of b: 1
Value of a: 1
Value of b: 2
Value of a: 1
Value of b: 3
Value of a: 2
Value of b: 1
Value of a: 2
Value of b: 2
Value of a: 2
Value of b: 3
Value of a: 3
Value of b: 1
Value of a: 3
Value of b: 2
Value of a: 3
Value of b: 3

for Cyclic set

The for syntax for a loop collection is as follows:

for( x <- List ){
   statement(s);
}

In the above grammar List a variable is a collection, and the for loop iterates over the elements of all collections.

Example

The following example loops a collection of numbers. We use List() to create a collection. We will describe the collection in detail in later chapters.

Example

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6);
      // for loop
      for( a <- numList ){
         println( "Value of a: " + a );
      }
   }
}

The output result of executing the above code is:

$ scalac Test.scala
$ scala Test
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6

for Cyclic filtration

Scala can use one or more if statement to filter some elements.

The following is in for the syntax for using filters in a loop.

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

You can use the semicolon (;) to add one or more filter criteria to the expression.

Example

The following is for instances filtered in the loop:

Example

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);
      // for loop
      for( a <- numList
           if a != 3; if a < 8 ){
         println( "Value of a: " + a );
      }
   }
}

The output result of executing the above code is:

$ scalac Test.scala
$ scala Test
value of a: 1
value of a: 2
value of a: 4
value of a: 5
value of a: 6
value of a: 7

For uses yield

You can put for the return value of the loop is stored as a variable. The syntax format is as follows:

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

Note that curly braces are used to hold variables and conditions retVal ,it’s a variable, in a loop. yield the current element is written down and saved in the collection, which is returned at the end of the loop.

Example

The following example demonstrates for use in a loop yield :

Example

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);
      // for loop
      var retVal = for{ a <- numList
                        if a != 3; if a < 8
                      }yield a
      // Output return value
      for( a <- retVal){
         println( "Value of a: " + a );
      }
   }
}

The output result of executing the above code is:

$ scalac Test.scala
$ scala Test
value of a: 1
value of a: 2
value of a: 4
value of a: 5
value of a: 6
value of a: 7

Powered by TorCMS (https://github.com/bukun/TorCMS).