Частичные функции Scala из конкретных

Есть ли какой-нибудь быстрый способ использовать в качестве конкретной функции (типа, скажем, , (A) => B ) как PartialFunction [A, B] ? Самый краткий синтаксис, о котором я знаю:

(a: A) => a match { case obj => func(obj) }

Есть ли где-нибудь неявное преобразование, что-то вроде:

implicit def funcAsPartial[A, B](func: A => B) = new PartialFunction[A, B] {

  def isDefinedAt(a: A) = true
  def apply(a: A) = func(a)

}

Думаю, я только что написал то, что искал, но существует ли это уже в библиотеках Scala?

5
задан Kenneth Allen 26 July 2011 в 17:29
поделиться