拟此篇以温习 Scala 对方法调用上的一些约定. 标题中说是关于操作符的事, 其实 Scala 像有了访问方法和属性的一致性原则一样, 可以说操作符与方法更是统一的, 或者说只有方法调用. 此处所称的操作符只不过是 Scala 对无参(prrameterless), 或只有一个参数的方法, 和特殊的四个unary_+,unary_-,unary_!,unary_~方法的便捷的调用约定格式.一. 中置操作符(对只有一个参数方法的调用约定,a plus b)case class MyNumber(value: Int) {def +(that: MyNumber) = MyNumber(this.value + that.value)}调用方式MyNumber(10).+(MyNumber(20)) //标准调用格式 MyNumber(10) + MyNumber(20) //只有一个参数时, 不用点, 不用括号第一行是用点语法的标准方法调用格式,Scala 在当方法只有一个参数时, 可以省略点, 以及括号, 因此可写为上面第二行种的格式. 所以方法+就化身为了中置操作符了.+只是一个普通的方法名而已, 因为 Scala 可以用很多符号来定义方法. 所以对于任何的只有一个参数的方法调用可以这么写, 假如MyNumber定义了方法def plus(added: Int) =
...
继续阅读
(37)