scala学习笔记12 操作符

来源:互联网 发布:人工智能a7论坛 编辑:程序博客网 时间:2024/06/17 04:53

本章要点:

  • 标识符由字母,数字或运算符构成
  • 一元和二元操作符其实是方法调用
  • 操作符优先级取决于第一个字符,而结合型取决于最后的
  • apply和update方法在对expr(args)表达式求值时被调用
  • 提取器从输入中提取元组或值的序列
1、标识符
变量、函数、类等的名称统称为标识符。
我们可以在反引号中包含任何的字符序列,例如val `val`=42 ,这种方法可以使用某些无法使用的保留字。
2、中置操作符
1 to 10
1.to(10)
3、一元操作符
4、赋值操作符
<=  >= !=不是赋值操作符
以=开头的操作符不是赋值操作符
如果a有一个名为 操作符= 的方法,那么该方法会被直接调用
5、优先级
  1. 最高优先级,除下列字符外的操作符
  2. * / %
  3.  + -
  4. :
  5. < >
  6. !=
  7. &
  8. ^
  9. |
  10. 非操作符
  11. 最低优先级:赋值操作符
出现在同一行字符所产生的操作符优先级相同。

后置操作符的优先级低于中置操作符。

6、结合型
在scala中,所有的字符都是左结合的,除了:
用冒号结尾的操作符    赋值操作符
其中右结合的二元操作符是其第二个参数的方法
7、apply和update方法
//这种方式很有意思
f(arg1,arg2,arg3.....)
如果f不是函数或者方法,这种方式就是在调用 f.apply(arg1,arg2,arg3......)
 f.apply(arg1,arg2,arg3......)=value就是在调用f.update(...)
8、提取器
即unapply方法,提取数据字段。感兴趣可以看看
9、unapplySeq方法

0 0