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页的底部:
以前的页面解释了为什么要选择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 } 如果你简要介绍这些,你会注意到执行速度有显着差异。所以有时表现是一个非常好的理由。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |