scala的运算符怎么使用

发布时间:2021-12-08 14:56:35 作者:iii
来源:亿速云 阅读:142

这篇文章主要讲解了“scala的运算符怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“scala的运算符怎么使用”吧!

在Scala中,运算符即是方法。 任何具有单个参数的方法都可以用作 中缀运算符。 例如,可以使用点号调用 +

10.+(1)

而中缀运算符则更易读:

10 + 1

定义和使用运算符

你可以使用任何合法标识符作为运算符。包括像 add 这样的名字或像 + 这样的符号。

case class Vec(x: Double, y: Double) {  def +(that: Vec) = Vec(this.x + that.x, this.y + that.y)}
val vector1 = Vec(1.0, 1.0)val vector2 = Vec(2.0, 2.0)
val vector3 = vector1 + vector2vector3.x  vector3.y

类 Vec 有一个方法 +,我们用它来使 vector1vector2 相加。使用圆括号,你可以使用易读的语法来构建复杂表达式。这是 MyBool 类的定义,其中有方法 andor

case class MyBool(x: Boolean) {  def and(that: MyBool): MyBool = if (x) that else this  def or(that: MyBool): MyBool = if (x) this else that  def negate: MyBool = MyBool(!x)}
现在可以使用 and 和 or 作为中缀运算符:
def not(x: MyBool) = x.negatedef xor(x: MyBool, y: MyBool) = (x or y) and not(x and y)
这有助于让方法  的定义更具可读性。

优先级

当一个表达式使用多个运算符时,将根据运算符的第一个字符来评估优先级:

(characters not shown below)* / %+ -:= !< >&^|(all letters)

这也适用于你自定义的方法。例如,以下表达式:

a + b ^? c ?^ d less a ==> b | c

等价于

((a + b) ^? (c ?^ d)) less ((a ==> b) | c)

?^ 具有最高优先级,因为它以字符 ? 开头。+ 具有第二高的优先级,然后依次是 ==>^?|, 和 less

感谢各位的阅读,以上就是“scala的运算符怎么使用”的内容了,经过本文的学习后,相信大家对scala的运算符怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Scala Option怎么使用
  2. scala集合怎么使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

scala

上一篇:scala的类型推断是什么

下一篇:scala传名参数怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》