加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 当命令风格更好吗?

发布时间:2020-12-16 09:29:55 所属栏目:安全 来源:网络整理
导读:从Scala的编程(第二版),第98页的底部: A balanced attitude for Scala programmers Prefer vals,immutable objects,and methods without side effects. Reach for them first. Use vars,mutable objects,and methods with side effects when you have a sp
从Scala的编程(第二版),第98页的底部:

A balanced attitude for Scala programmers

Prefer vals,immutable objects,and methods without side effects.
Reach for them first. Use vars,mutable objects,and methods with side effects when you have a specific need and justification for them.

以前的页面解释了为什么要选择vals,immutable对象和方法,没有副作用,所以这句话是完美的。

但是第二句话:“当你有特定的需要和理由的时候,使用vars,可变对象和方法来解决副作用。”没有这么好的解释。

所以我的问题是:

什么是正当的或具体需要使用vars,可变对象和方法副作用?

P.s:如果有人可以为每个人提供一些例子(除了解释)将是巨大的。

解决方法

在许多情况下,函数式编程会增加抽象级别,从而使您的代码更简洁,更容易/更快地编写和理解。但是在某些情况下,所产生的字节码不能像强制解决方案那样优化(快速)。

目前(Scala 2.9.1)一个很好的例子是总结范围:

(1 to 1000000).foldLeft(0)(_ + _)

与:

var x = 1
var sum = 0
while (x <= 1000000) {
  sum += x
  x += 1
}

如果你简要介绍这些,你会注意到执行速度有显着差异。所以有时表现是一个非常好的理由。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读