Scala,如何访问整个匹配:X匹配{case Y(z)匹配=>

Pou*_*ria 2 scala pattern-matching case-class

在scala中是否有语法或方法来访问case语句中的整个匹配结构?

为了澄清,如果有"as"关键字,可以这样做:

x match {
  case Y(z) as matched =>
    // do stuff both with "matched" and "z" here ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

Bor*_*der 7

您应该能够使用以下@语法:

x match {
  case matched @ Y(z) =>
    // do stuff both with "matched" and "z" here ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

这里开始

  • 这称为[变量绑定](http://www.artima.com/pins1ed/case-classes-and-pattern-matching.html#sec%3avar-binding). (2认同)