Scala do ... while-Schleife
for-Schleife können Sie eine bestimmte Anzahl von Regelstruktur zu schreiben.
Grammatik
Scala Sprachefür Loop - Syntax:
for( var x <- Range ){ statement(s); }
Die obigeSyntax könnte Bereich eine Reihe von Zahlen idarstellt ,auf joderi bis j.Pfeil nach links <- für die Zuordnung zu einer Variablen x.
Beispiele
Im Folgenden ist eine Verwendung desi zu j Syntax (mit j) Beispiele:
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 to 10){ println( "Value of a: " + a ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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
Im Folgenden ist eine Verwendung desi bis j Syntax Beispiele (nicht j enthalten):
object Test { def main(args: Array[String]) { var a = 0; // for 循环 for( a <- 1 until 10){ println( "Value of a: " + a ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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 derfor - Schleifekönnen Sie ein Semikolon (;) eine Vielzahl von Abschnitten einzurichten, wird Iteration es Intervall alle möglichen Werte gegeben. Das folgende Beispiel zeigt zwei Beispiele von Zyklusintervall:
object Test { def main(args: Array[String]) { var a = 0; var b = 0; // for 循环 for( a <- 1 to 3; b <- 1 to 3){ println( "Value of a: " + a ); println( "Value of b: " + b ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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
für den Radsport-Set
Die Syntax für den Radsport wie folgt festgelegt:
for( var x <- List ){ statement(s); }
Die obigeSyntax ist Liste eine Sammlung von Variablen, for - Schleife über alle Elemente der Kollektion.
Beispiele
Die folgenden Beispiele Schleife digitale Sammlung. Wir verwendenList (), um die Sammlung zu erstellen. Und dann werden wir später ausführlich gesetzt Kapitel.
object Test { def main(args: Array[String]) { var a = 0; val numList = List(1,2,3,4,5,6); // for 循环 for( a <- numList ){ println( "Value of a: " + a ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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
für Schleifenfilter
Scala kann eine oder mehrere derif - Anweisung verwenden , um einige Elemente zu filtern.
Im Folgenden wird die Verwendung eines Filters in einer for-Schleife Syntax.
for( var x <- List if condition1; if condition2... ){ statement(s);
(;) Sie können ein Semikolon verwenden, um die Expression eines oder mehrerer Filter hinzuzufügen.
Beispiele
Im Folgenden ist ein Schleifenfilter zum Beispiel:
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 ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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
für den Einsatz Ausbeute
Sie können den Wert für den Zyklus als Variablenspeicher zurück. Die Syntax ist wie folgt:
var retVal = for{ var x <- List if condition1; if condition2... }yield x
Beachten Sie, dass geschweifte Klammern verwendet , um Variablen undBedingungen halten,retVal Variable, wird die Schleife ergeben die aktuellen Elemente nach unten, in einer Sammlung gespeichert, kehrte die Sammlung nach dem Ende des Zyklus.
Beispiele
Das folgende Beispiel demonstriert die Verwendung der for-Schleife Ausbeute:
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 ); } } }
Führen Sie die oben genannten Code Ausgabeergebnisse:
$ 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