scala操作符优先级

本文探讨了Scala操作符的优先级,指出操作符的优先级由其首字符决定,而中缀操作符的结合性则取决于其末尾字符,如以':'结尾则为右结合,否则为左结合。

关于scala操作符的优先级等问题可以详见这里,本文直接去扒了scala反射中的Toolbox里面负责编译的源代码,找到了其中和操作符相关的部分,记录如下:

对于操作符优先级,有第一个字符决定,数越大优先级越高

 def precedence(operator: Name): Int =
   if (operator eq nme.ERROR) -1
   else {
     val firstCh = operator.startChar
     if (isScalaLetter(firstCh)) 1
     else if (nme.isOpAssignmentName(operator)) 0
     else firstCh match {
       case '|'             => 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值