A In Scala language In the above grammar The following is an example that uses the The output result of executing the above code is: The following is an example that uses the The output result of executing the above code is: In The output result of executing the above code is: The In the above grammar The following example loops a collection of numbers. We use The output result of executing the above code is: Scala can use one or more The following is in You can use the semicolon (;) to add one or more filter criteria to the expression. The following is The output result of executing the above code is: You can put Note that curly braces are used to hold variables and conditions The following example demonstrates The output result of executing the above code is:
for
loop allows you to write a loop control structure that executes a specified number of times. 8.13.1. Grammar #
for
the syntax of the loop:for( var x <- Range ){
statement(s);
}
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. 8.13.2. Example #
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 );
}
}
}
$ 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
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 );
}
}
}
$ 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
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 );
}
}
}
$ 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
8.13.3.
for
Cyclic set #
for
syntax for a loop collection is as follows:for( x <- List ){
statement(s);
}
List
a variable is a collection, and the
for
loop iterates over the elements of all collections. 8.13.4. Example #
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 );
}
}
}
$ 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
8.13.5.
for
Cyclic filtration #
if
statement to filter some elements.
for
the syntax for using filters in a loop.for( var x <- List
if condition1; if condition2...
){
statement(s);
}
8.13.6. Example #
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 );
}
}
}
$ 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
8.13.7. For uses yield #
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
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. 8.13.8. Example #
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 );
}
}
}
$ 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