scala函数式编程之下划线_

scala函数式编程中可使用下划线来简化函数的定义,具体的规范是这样说的:

当函数参数,只在函数体中出现一次,而且函数体没有嵌套调用时,可以使用下划线来简化函数定义。

下面举个错误的例子:
在这里插入图片描述
上面的例子就是错误的,因为map方法的参数只是一个,在方法体((1),(5))中却出现了两次,这与下划线的规范定义就不同了。
所以正确的写法该是这样——不使用下划线简化:
在这里插入图片描述

我们再来看看reduce方法:
在这里插入图片描述
这样写就不错,为什么呢?原因就是reduce方法的参数是两个,在它的方法体中每个参数调用一次这就是正确的。

所以在scala中使用下划线,应当搞清楚所运用的方法的参数和该方法运行的逻辑,然后谨慎使用。

另外“匿名函数有多个括号嵌套的时候,不要使用_的简写方式 ,而应该用普通匿名函数的书写方式。比如 (x:Int,y:Int)=> (x*2)+f(y+2)”

还可以参考连接中博客:
https://www.iteye.com/blog/bit1129-2217669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值