В нескольких местах я вижу следующий код, изображающий использование частичных функций в Scala.
val divide: PartialFunction[Int, Int] = {
case d: Int if d != 0 => 42 / d
}
Здесь div - это переменная, тип которой - PartialFunction [Int, Int], что является признаком. Меня смущает часть RHS. Так как тип переменной div: PartialFunction [Int, Int], ее необходимо создать с помощью нового ключевого слова. Я не уверен, что это за синтаксис. Плюс как функция isdefined () автоматически определяется выше? (isDefined () кажется доступным; но он там скрыт).
Может кто-нибудь, пожалуйста, помогите.
new
, компилятор может создавать объекты непосредственно для литералов (_2 _, _ 3_) или даже когда он создает функцию (которая является просто экземпляром классаFunction
). В этом случае он создает экземплярPartialFunction
, используя этот синтаксис. - person Tim   schedule 26.10.2020