1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| package com.sky.scala.exercise16.casesExercise
object PartialFunctionProcess { def main(args: Array[String]): Unit = { val list = List(1, 23, 4, 5, "ad") println(list.collect(partial)) }
val partial = new PartialFunction[Any, Int] { override def isDefinedAt(x: Any): Boolean = x.isInstanceOf[Int]
override def apply(v1: Any): Int = { v1.asInstanceOf[Int] + 1 } }
def f2: PartialFunction[Any, Int] = { case i: Int => i + 1 }
val list2 = List(1, 3, 4, 5, "ads").collect(f2) println(list2)
val list3 = List(1, 23, 43, 5, "asdf").collect { case i: Int => i + 1 }
println(list3) }
|