企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在Scala中运算符也是方法,比如`+`其实是一个方法,它可以如下调用: ```scala // 因为 + 是只有一个参数的方法,所以可以使用中缀表达式 val a = 10 + 10 // 这就是+的中缀表达式,省略了 . 和 () val b = 10.+(10) ``` 我们可以自定义运算符,如下自定义一个`+`运算符。 ```scala object App extends App { override def main(args: Array[String]): Unit = { case class Vec(val x:Double, val y:Double) { def +(that:Vec) = new Vec(this.x + that.x, this.y + that.y) def add(that:Vec) = new Vec(this.x + that.x, this.y + that.y) } val vector1 = Vec(1.0, 2.0) val vector2 = Vec(2.0, 2.0) val vector3 = vector1 + vector2 val vector4 = vector1.+(vector2) val vector5 = vector1 add vector2 val vector6 = vector1.add(vector2) println(vector3.x) // 3.0 println(vector5.x) // 3.0 } } ```