From f6cb9d96b412e4f529cd281576eb7eb8f9cd672e Mon Sep 17 00:00:00 2001 From: kennethcheng Date: Sun, 13 Sep 2026 19:23:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:ChatGPT=E7=AC=AC=204=20=E8=AF=BE=EF=BC=9A?= =?UTF-8?q?=E6=8A=8A=20def=E3=80=81=3D>=E3=80=81map=20=E4=B8=B2=E8=B5=B7?= =?UTF-8?q?=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/practise4/demo/Demo.scala | 16 ++++++++++ .../practise4/exercises/Exercises1.scala | 20 +++++++++++++ .../practise4/exercises/Exercises2.scala | 20 +++++++++++++ .../practise4/exercises/Exercises3.scala | 19 ++++++++++++ .../practise4/exercises/Exercises4.scala | 29 +++++++++++++++++++ .../practise4/exercises/Exercises5.scala | 29 +++++++++++++++++++ 6 files changed, 133 insertions(+) create mode 100644 src/main/scala/practise4/demo/Demo.scala create mode 100644 src/main/scala/practise4/exercises/Exercises1.scala create mode 100644 src/main/scala/practise4/exercises/Exercises2.scala create mode 100644 src/main/scala/practise4/exercises/Exercises3.scala create mode 100644 src/main/scala/practise4/exercises/Exercises4.scala create mode 100644 src/main/scala/practise4/exercises/Exercises5.scala diff --git a/src/main/scala/practise4/demo/Demo.scala b/src/main/scala/practise4/demo/Demo.scala new file mode 100644 index 0000000..0823341 --- /dev/null +++ b/src/main/scala/practise4/demo/Demo.scala @@ -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)) + } +} diff --git a/src/main/scala/practise4/exercises/Exercises1.scala b/src/main/scala/practise4/exercises/Exercises1.scala new file mode 100644 index 0000000..008a8be --- /dev/null +++ b/src/main/scala/practise4/exercises/Exercises1.scala @@ -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)) + } +} diff --git a/src/main/scala/practise4/exercises/Exercises2.scala b/src/main/scala/practise4/exercises/Exercises2.scala new file mode 100644 index 0000000..908fd96 --- /dev/null +++ b/src/main/scala/practise4/exercises/Exercises2.scala @@ -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) + } +} diff --git a/src/main/scala/practise4/exercises/Exercises3.scala b/src/main/scala/practise4/exercises/Exercises3.scala new file mode 100644 index 0000000..1cd9247 --- /dev/null +++ b/src/main/scala/practise4/exercises/Exercises3.scala @@ -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) + } +} diff --git a/src/main/scala/practise4/exercises/Exercises4.scala b/src/main/scala/practise4/exercises/Exercises4.scala new file mode 100644 index 0000000..3ab806b --- /dev/null +++ b/src/main/scala/practise4/exercises/Exercises4.scala @@ -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) + } +} diff --git a/src/main/scala/practise4/exercises/Exercises5.scala b/src/main/scala/practise4/exercises/Exercises5.scala new file mode 100644 index 0000000..cede719 --- /dev/null +++ b/src/main/scala/practise4/exercises/Exercises5.scala @@ -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) + } +}