构建范围
生成数字序列。
构建范围 是 CoddyKit 上的免费 Scala for Backend Engineering & Functional Programming 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Scala for Backend Engineering & Functional Programming 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Scala for Backend Engineering & Functional Programming 课程共包含 4 节课。
什么是范围?
范围表示一个有序且间隔相等的整数序列,例如 1、2、3、4、5。
范围很节省内存,因为它只存储起点、终点和步长,而不是每个数字。它非常适合计数和循环。
to 关键字
最简单的范围使用 to,它会包含两个端点。
因此,1 to 5 包含 1、2、3、4 和 5。最后一个数字也是范围的一部分。
val r = 1 to 5
println(r)包含上限的范围
to 范围称为包含式范围,因为它包含上限。
如果想查看实际数字,而不是紧凑的描述,可以将范围转换为列表。
val r = 1 to 5
println(r.toList)until 关键字
如果您希望在上限之前停止,请使用 until。
因此,1 until 5 会得到 1、2、3、4,而不包含 5。这表示不包含终点值。
val r = 1 until 5
println(r.toList)to 与 until
区别只在最后一个数字。to 包含终点,until 不包含终点。
1 to 5 有五个元素,而 1 until 5 有四个。选择正确的形式可以避免差一错误。
println((1 to 5).toList)
println((1 until 5).toList)使用 by 设置步长
范围默认以一为步长。添加 by 可以改变步长。
这里我们从 0 数到 10,每次跳过 2,得到所有偶数。
val evens = 0 to 10 by 2
println(evens.toList)倒数
负步长可以让范围反向计数。
使用 by -1 时,范围从较大的值开始递减。这是反向迭代的标准方式。
val down = 5 to 1 by -1
println(down.toList)范围大小
您可以使用 size 询问范围包含多少个元素。
该值会根据边界和步长立即计算出来,无需列出每个数字。
val r = 0 to 20 by 5
println(r.size)检查成员关系
contains 方法会告诉您某个值是否落在范围内。
它也会遵循步长,因此在步长为 2 的偶数范围中不包含 3。
val evens = 0 to 10 by 2
println(evens.contains(4))
println(evens.contains(3))范围是集合
范围的行为与其他序列一样,因此您可以对它进行映射或求和。
这里我们将每个数字平方并求和,无需先构建显式列表。
val total = (1 to 4).map(n => n * n).sum
println(total)空范围
如果起点已经超过终点,那么该范围就是空的。
例如,5 until 5 不包含任何内容。空范围是有效的,在循环遍历时只会产生零个元素。
val r = 5 until 5
println(r.isEmpty)快速检查
测试您对构建范围的学习成果。
回顾
您可以使用 to(包含式)和 until(排除式)构建范围,使用 by 调整步长,并使用负步长倒数。
范围是轻量级集合,支持 size、contains 和 map。接下来,您将使用范围驱动循环。
用 AI 导师学习 Scala — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 39
- 课程
- 143
常见问题解答
「构建范围」课时是免费的吗?
是的 — 「构建范围」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Scala for Backend Engineering & Functional Programming 课程的其余内容,请升级到 CoddyKit PRO。 Scala for Backend Engineering & Functional Programming 课程共包含 4 节课。
「构建范围」这节课中我会学到什么?
生成数字序列。 你通过在浏览器中直接运行的动手代码来练习 Scala for Backend Engineering & Functional Programming,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Scala for Backend Engineering & Functional Programming 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Scala for Backend Engineering & Functional Programming 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「构建范围」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Scala for Backend Engineering & Functional Programming 课中编写并运行代码吗?
能。每节 Scala for Backend Engineering & Functional Programming 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。