scala操作符优先级
来源:互联网 发布:淘宝怎么修改宝贝图片 编辑:程序博客网 时间:2024/05/21 21:46
关于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 '|' => 2 case '^' => 3 case '&' => 4 case '=' | '!' => 5 case '<' | '>' => 6 case ':' => 7 case '+' | '-' => 8 case '*' | '/' | '%' => 9 case _ => 10 } }
对于中缀操作符的结合性,由最后一个字符决定,:则右结合,否则左结合
def isLeftAssoc(operator: Name) = operator.nonEmpty && (operator.endChar != ':')
0 0
- scala操作符优先级
- 操作符优先级
- ORACLE 操作符优先级
- 操作符优先级
- C++ 操作符优先级
- c++操作符优先级
- C++操作符优先级
- 操作符与优先级
- C++ 操作符优先级
- ORACLE 操作符优先级
- C++操作符优先级
- 操作符优先级
- 操作符优先级
- 牢记操作符优先级
- c++ 操作符优先级
- C操作符优先级
- C++操作符优先级
- 操作符的优先级
- nncq---子系统(信用体系下的 检测机构)
- CDH(Cloudera)与hadoop(Apache)对比
- 类目、延展、协议(三)
- BZOJ 4007 [JLOI2015]战争调度
- JavaWeb-过滤器Filter学习(一)Filter知识点
- scala操作符优先级
- Android ImageView的setImageLevel和level-list使用简介
- Spark Streaming源码解读之Job动态生成和深度思考
- 文件上传检测的多种绕过姿势
- 设置 UILabel的行间距的方法
- java学习记录
- OC中的通知
- 一次HashMap多线程安全引起的事故
- C# 连接 Oracle 数据库(三种方式:OracleClient、ODBC、OLEDB)