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) + } +}