Это связано с сопоставлением с образцом. Если вы используете строчное имя в сопоставлении с шаблоном:
reactions += {
case EditDone(fahrenheit) => // ...
}
тогда сопоставляемый объект (в данном случае событие) будет сопоставляться с любым событием EditDone
в любом виджете. Ссылка на виджет будет привязана к имени fahrenheit
. fahrenheit
становится новым значением в рамках этого случая.
Однако, если вы используете обратные метки:
val fahrenheit = new TextField
...
reactions += {
case EditDone(`fahrenheit`) => // ...
}
тогда сопоставление с образцом будет успешным, только если событие EditDone
ссылается на существующий объект, на который ссылается значение fahrenheit
, определенное ранее.
Обратите внимание, что если имя значения fahrenheit
было в верхнем регистре, например Fahrenheit
, вам не пришлось бы использовать обратные галочки - это было бы так, как если бы вы их ставили. Это полезно, если у вас есть константы или объекты в области видимости, с которыми вы хотите сопоставить - у них обычно есть имена в верхнем регистре.