Scala, partial functions

Есть ли способ создать PartialFunction , кроме как с помощью оператора case ?

Мне любопытно, потому что я бы хотелось бы выразить следующее (scala псевдо вперед!) ...

val bi = BigInt(_)
if (bi.isValidInt) bi.intValue

... как частичную функцию, и выполнение

val toInt : PartialFunction[String, Int] = {
    case s if BigInt(s).isValidInt => BigInt(s).intValue
}

кажется излишним, поскольку я дважды создаю BigInt .

8
задан 0__ 14 April 2011 в 19:40
поделиться