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 循环示例

使用untilto之间的区别是; 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 拥有一个快速发展的社区,登上排行榜的榜首不再是时间问题。