Scala Tips

来源:互联网 发布:曲柄摇杆机构优化设计 编辑:程序博客网 时间:2024/06/03 23:42

1.apply: 拥有apply方法的任何对象在调用时可以省略掉.apply()。

2.Variable binding

In addition to the standalone variable patterns, you can also add a variableto any other pattern. You simply write the variable name, an at sign (@), andthen the pattern. This gives you a variable-binding pattern. The meaning ofsuch a pattern is to perform the pattern match as normal, and if the patternsucceeds, set the variable to the matched object just as with a simple variablepattern.

As an example, a pattern match that looks for theabsolute value operation being applied twice in a row. Such an expressioncan be simplified to only take the absolute value one time.

  expr match {    case UnOp("abs", e @ UnOp("abs", _)) => e    case _ =>
}

 there is a variable-binding pattern withe as the variableandUnOp("abs", _) as the pattern. If the entire pattern match succeeds,then the portion that matched theUnOp("abs", _) part is made available asvariablee. As the code is written,e then gets returned as is. 


0 0