2015-04-02 3 views

ответ

2

Это называется переменное связывание. Он связывает значение, сопоставляемое с переменной overdue.

Таким образом, вы можете как разрушить значение по шаблону, сопоставляя его, так и позже ссылаться на него в целом.

Хотя это не особенно полезно в случае как

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

, так как вы можете напрямую обратиться к foo, она становится все более интересно в тех случаях, как

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

где вы связать внутренний матч к переменная.

Смежные вопросы