Scala For 循環 | Scala 中的 For 循環:解釋
已發表: 2021-02-19在 Scala 中, for 循環也稱為for-comprehensions 。 它可用於迭代、過濾和返回排練的集合。 for-comprehension看起來非常類似於命令式語言中的for 循環。 但是,不同之處在於它匯總了頭韻的結果列表。
Scala中有幾種形式的for 循環,如下所述:
目錄
帶範圍的 For 循環
句法
Scala 中最簡單的帶範圍的for 循環語法如下所示:
for( var x <- 範圍){
聲明;
}
如上所述,範圍可以是任何數字範圍,表示為i 到 j或有時表示為 i 到j 。 左箭頭 ← 運算符被稱為生成器,因為它從一個範圍內生成單個值。
或者,也可以使用以下語法:
對於(w <- 範圍){
// 代碼..
}
這裡, w是一個變量,左箭頭符號 ← 運算符是生成器,範圍是保存起始值和結束值的值。 範圍通過使用 i 到 j 或 i 到 j 來表示。
使用關鍵字“to”的 Scala For 循環示例
在for 循環中使用'to'包括起始值和結束值。 在下面顯示的示例中,我們可以使用'to'打印 0 到 n 之間的值。 換句話說,循環從 0 開始,到 10 結束,這意味著我們可以打印 0 到 10 的頁碼。
// Scala程序來說明如何
// 使用 to 創建 for 循環
對象主要
{
def main(參數:數組[字符串])
{
println("w的值為:");
// 這裡for循環從0開始
// 並在 10 結束
for( w <- 0 到 10)
{
打印(w);
}
}
}
輸出:
在上面顯示的示例中,w 的值為:
0
1
2
3
4
5
6
7
8
9
10
閱讀:成為全棧開發人員的 10 大技能
使用關鍵字“直到”的 Scala For 循環示例
使用until和to之間的區別是; to包括範圍內給定的起始值和結束值,而until不包括給定範圍的最後一個值。 在下面說明的for 循環示例中,我們可以使用until打印 0 到 n-1 之間的值。 換句話說,循環從 0 開始,到 n-1 結束,結果為 9。因此,我們可以打印頁碼 0 到 9。
// Scala程序來說明如何
// 使用直到創建for循環
對象主要
{
def main(參數:數組[字符串])
{
println("w的值為:");
// 這裡for循環從0開始
// 並在 10 結束
for( w <- 0 直到 10)
{
打印(w);
}
}
}
輸出:
在上面顯示的示例中,w 的值為:
0
1
2
3
4
5
6
7
8
9
另請閱讀: Python vs Scala
For循環中的多個值
我們還可以在單個for 循環中使用多個範圍。 這些範圍使用分號 (;) 分隔。 讓我們藉助插圖來理解這一點。 在下面給出的示例中,我們在一個循環中使用了兩個不同的範圍,即 w <- 0 到 3; z <- 8 到 10。
// Scala程序來說明如何
// 在for循環中創建多個範圍
對象主要
{
def main(參數:數組[字符串])
{
// 具有多個範圍的 for 循環
for( w <- 0 到 3; z<- 8 到 10 )
{
println("w 的值為:" +w);
println("y 的值是:" +z);
}
}
}
輸出:
w的值為:0
y 的值為:8
w的值為:0
y 的值為:9
w的值為:1
y 的值為:8
w 的值為:1
y 的值為:9
w的值為:2
y 的值為:8
w的值為:2
y 的值為:9
w的值為:3
y 的值為:8
w的值為:3
y 的值為:9
結帳:印度的全棧開發人員薪水
帶有集合的 For 循環
在 Scala 中,我們可以使用for-loop來有效地迭代列表、序列等集合,方法是使用for-each 循環或for-comprehensions 循環。 Scala 中帶有集合的 for 循環的語法如下所示:
句法
for( var x <- 列表 ){
聲明;
}
在這裡,變量 list 是一個包含元素列表的集合類型, for 循環遍歷所有元素,一次返回 x 變量中的一個元素。
讓我們看一下下面給出的演示程序,以了解帶有集合的 for 循環。 在插圖中,我們使用List變量創建了一個集合,以根據作者的等級列出作者。
// Scala程序來說明如何
// 在集合中使用 for 循環
對象主要
{
def main(參數:數組[字符串])
{
變量排名 = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 帶有集合的 For 循環
對於(排名<-排名表){
println("作者等級為:" +rank);
}
}
}
輸出:
作者等級為:1
作者等級:2
作者等級:3
作者等級:4
作者等級:5
作者等級:6
作者等級:7
作者等級:8
作者等級:9
作者等級:10
帶過濾器的 For 循環
Scala 中的 For-loop允許您使用for-loop中的一個或多個if語句從給定集合中過濾元素。 用戶還可以使用分號 (;)將多個過濾器添加到“for”表達式中以分隔它們。 下面列出了帶有過濾器的 for-loop的語法。
句法
for( var x <- 列表
如果條件1; 如果條件2…
){
聲明;
}
讓我們藉助一個例子更好地理解這一點。 下面給出的插圖使用兩個過濾器來隔離給定的集合。 例如,在下面的示例中,過濾器會刪除排名大於 2 且小於 7 的作者列表。
// Scala程序來說明如何
// 使用帶有過濾器的 for 循環
對象主要
{
def main(參數:數組[字符串])
{
變量排名 = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 帶過濾器的 For 循環
for( 排名 <- 排名列表
如果排名 < 7; 如果排名 > 2 )
{
println("作者等級為:" +rank);
}
}
}
輸出:
作者等級:3
作者等級:4
作者等級:5
作者等級:6
帶收益的 For 循環
在 Scala 中,循環的返回值存儲在變量中,或者可以通過函數返回。 為此,您應該在“for”表達式的主體前加上關鍵字yield 。 下面列出了帶有 yield 的 for 循環的語法。
句法
var retVal = for{ var x <- 列表
如果條件1; 如果條件2…
}
產量 x
注意- 花括號列出了變量和條件,而retVal是一個變量,其中 x 的所有值都將以集合的形式存儲。
讓我們藉助插圖更好地理解這一點。 在下面給出的示例中,輸出是一個變量,其中所有排名值都以集合的形式存儲。 for 循環僅顯示排名大於 4 且小於 8 的作者列表。
// Scala程序來說明如何
// 使用 for 循環產生
對象主要
{
def main(參數:數組[字符串])
{
變量排名 = 0;
val ranklist = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 帶收益的 For 循環
var output = for{ rank <- ranklist
如果排名 > 4; 如果排名!= 8 }
產量等級
// 顯示結果
對於(排名<-輸出)
{
println("作者排名為:" + rank);
}
}
}
輸出:
作者等級:5
作者等級:6
作者等級:7
作者等級:9
作者等級:10
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
結論
如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。
什麼是 Scala 編程語言?
Scala 是一種通用編程語言,旨在以簡潔、優雅和類型安全的方式表達常見的編程模式。 它是一種混合函數式和麵向對象的語言,支持函數式編程結構,例如高階函數和惰性求值,但它也具有面向對象語言的特性,例如類、對象字面量和類型推斷。 Scala 是為 Java 虛擬機 (JVM) 設計的最著名的語言之一,但也可以編譯為 JavaScript 源代碼或使用 .NET 公共語言運行時 (CLR)。
什麼是編程中的循環?
循環是編程語句,將語句塊重複另一次(整數)。 有兩種類型的循環——for 和 while。 循環重複一段代碼,直到滿足某個條件。 您可以使用循環一遍又一遍地執行相同的任務,直到滿足指定的條件。 有幾種類型的循環,例如 - for 循環、while 循環、do while 循環和 foreach 循環。 這些類型中的每一種都有自己的優勢和用例。 例如,如果你想循環一個數組固定次數,你可以使用 for 循環。 如果要根據條件循環,可以使用 while 循環。 如果要訪問數組的元素,可以使用 foreach 循環。
Scala 語言的未來在哪裡?
Scala 是一種通用編程語言,它結合了函數式編程原則。 它獨立於平台。 Scala 是一種具有類型推斷功能的靜態類型語言。 它還允許以面向對象的風格編寫代碼。 Scala 庫豐富,編碼簡潔。 這些因素使 Scala 成為一種非常流行的編程語言。 如果您是 java 程序員,那麼您可以更輕鬆地使用 Scala。 如果您不是 Java 程序員並且仍然想使用 Scala,那麼您可以使用 Scala 解釋器系統。 Scala 擁有一個快速發展的社區,登上排行榜的榜首不再是時間問題。