История изменений
Исправление dimgel, (текущая версия) :
Он нужен только в особо узкоспецифических вещах
Хотя даже здесь -1. Всё зависит от стандартной либы. Например, если скаловские контейнеры.find() возвращают Optional[T], то матчить частенько удобнее, компактнее и читабельнее, чем пара .empty() + .get().
UPD. И надёжнее (в смысле менее error-prone).
UPD2. И специально для бабалоба-Бомжа, пример! С destructuring! :)
blablabla.find(...) match {
case Some(x) => ... // тип x выводится, хотя можно и задать
case None => ...
}
Исправление dimgel, :
Он нужен только в особо узкоспецифических вещах
Хотя даже здесь -1. Всё зависит от стандартной либы. Например, если скаловские контейнеры.find() возвращают Optional[T], то матчить частенько удобнее, компактнее и читабельнее, чем пара .empty() + .get().
UPD. И надёжнее (в смысле менее error-prone).
Исходная версия dimgel, :
Он нужен только в особо узкоспецифических вещах
Хотя даже здесь -1. Всё зависит от стандартной либы. Например, если скаловские контейнеры.find() возвращают Optional[T], то матчить частенько удобнее, компактнее и читабельнее, чем пара .empty() + .get().