2015-04-02 69 views

回答

2

它被称为可变绑定。 它将匹配的值绑定到overdue变量。

通过这种方式,您既可以通过模式匹配来解构值,也可以将其作为一个整体进行引用。

虽然它不是在的情况下特别有用像

foo match { 
    case a @ Bar(baz, bar) => ... 
} 

,因为你可以直接引用foo,它的情况下变得更有趣,就像在您的内部匹配绑定到

foo match { 
    case Bar(b @ Baz("hello", _), _) => ... 
} 

变量。