feat:ChatGPT第 4 课:把 def、=>、map 串起来
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user