如何解决为什么不建议使用Scala的Addable?
| 我注意到不赞成使用Addable
,而反对不使用not1.。 Addable
是什么问题,为什么Subtractable
与众不同?
解决方法
问题是
+
被重载以将String
连接到非字符串。因此,每当对没有类型的类型使用+
方法时,都会收到与实际问题无关的错误消息:您拥有的类型不是您期望的类型。
有+:
和:+
替换它。
, 扩展丹尼尔的答案,+
也是用于集合插入的非常不好的运算符。在数学上,+
运算符具有非常传统的含义,并且该含义的一部分是对关联性的保证。不幸的是,当您在ѭ12上加上Int
时,关联性是毫无意义的保证。因此,对于任何接受过代数训练的人来说,+
总是非常令人困惑。
+:
和:+
在几个方面都比较出色,其中最重要的一点是,没有对联想的期望。实际上,运算符的非常不对称意味着非关联性,这恰恰是它们的语义。 +:
和:+
也很好地相互镜像,+:
是右关联的,所有这些共同有助于为集合的添加和添加分别提供非常自然的API。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。