feat:ChatGPT第 4 课:把 def、=>、map 串起来

This commit is contained in:
2026-09-13 19:23:42 +08:00
parent d589eeaf30
commit f6cb9d96b4
6 changed files with 133 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
package practise4.demo
object Demo {
def main(args: Array[String]): Unit = {
// 现在我们解决你前面最容易产生疑问的地方:
def add(a: Int, b: Int): Int = a + b
val add2 = (a: Int, b: Int) => a + b
// 为什么都能:
println(add(10, 20))
println(add2(10, 20))
}
}
@@ -0,0 +1,20 @@
package practise4.exercises
/*
练习1
写一个:
val triple = ...
要求:
println(triple(5))
输出:
15
*/
object Exercises1 {
def main(args: Array[String]): Unit = {
val triple = (x: Int) => x * 3
println(triple(5))
}
}
@@ -0,0 +1,20 @@
package practise4.exercises
/*
练习 2
给:
val nums = List(1, 2, 3, 4, 5)
使用 map:
每个元素乘 10
结果:
List(10, 20, 30, 40, 50)*/
object Exercises2 {
def main(args: Array[String]): Unit = {
val nums = List(1, 2, 3, 4, 5)
val result = nums.map(x => x * 10)
println(result)
}
}
@@ -0,0 +1,19 @@
package practise4.exercises
/*
练习 3
给:
val nums = List(10, 15, 20, 25, 30)
使用 filter:
只保留 >= 20 的数字
*/
object Exercises3 {
def main(args: Array[String]): Unit = {
val nums = List(10, 15, 20, 25, 30)
val result = nums.filter(x => x >= 20)
println(result)
}
}
@@ -0,0 +1,29 @@
package practise4.exercises
/*
练习 4
给:
val nums = List(1, 2, 3, 4, 5)
要求:
先乘 2
再只保留 >= 6
最终:
List(6, 8, 10)
提示,你可以继续使用链式调用:
nums
.map(...)
.filter(...)
*/
object Exercises4 {
def main(args: Array[String]): Unit = {
val nums = List(1, 2, 3, 4, 5)
val result = nums
.map(x => x * 2)
.filter(x => x >= 6)
println(result)
}
}
@@ -0,0 +1,29 @@
package practise4.exercises
/*
练习 5 ⭐
这次不用 map。
写一个函数:
val calc = ...
要求:
println(calc(10, 20))
输出:
30
然后再创建:
val result = calc(5, 8)
要求 result 是:
13
*/
object Exercises5 {
def main(args: Array[String]): Unit = {
val calc = (a: Int, b: Int) => a + b
println(calc(10, 20))
val result = calc(5, 8)
println(result)
}
}