Scala学习笔记05--控制抽象

本文介绍了Scala中的控制抽象概念,通过高阶函数的示例展示如何减少重复代码。讲解了如何将函数作为参数传递,以及在实际编程中的应用场景,如策略模式的实现。还提及了Curry化在函数定义中的应用,尽管其具体性能优势尚未深入探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制抽象

1.      本章作用:减少重复的代码。

2.      高阶函数:将一个函数作为其他函数的参数传递。为了减少重复代码。

2.1      书上的代码示例太墨迹,自己写个例子。

第一步,先看两个函数:

def sum(a: Int,b: Int, c: Int) = a + b + c; //将三个整数相加

  def dec(a: Int, b:Int, c: Int) = a - b - c;    //将三个整数相减

 

第二步,再创建一个函数,接收上面两个函数作为他的参数:

deffunManager(fun: (Int, Int, Int) => Int) = {

fun(1,2,3);

  }

注:funManager接收一个函数类型的参数,定义参数fun,这个参数的类型就是sum和dec类型。

funManager函数体内,会调用传递进来的函数。

 

第三步,测试:

同样,也可以把dec作为参数传递到funManager函数中。

注:funManager时,不能够直接传递sum函数的名字,而是要把函数传递进去。即:sum _ 或者 sum(_, _, _)。为什么是这么写,可以参考第八章的偏应用函数

2.2     &nb

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值