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