关于scala的偏函数的一个疑问
大家好!我在学习scala的过程中,有如下疑问:
请问scala偏函数的输入A和输出B可以是多个数据吗?
比如[String, Int, ..., Double, Char, ...],其中String, Int, ...都属于输入,Double, Char, ...都属于输出。
下面是我的学习资料中关于偏函数的描述。
偏函数
被包在花括号内没有match的一组case语句是一个偏函数,它是PartialFunction[A, B]的一个实例,A代表输入参数类型,B代表返回结果类型,常用作输入模式匹配,偏函数最大的特点就是它只接受和处理其参数定义域的一个子集。
package cn.itcast.cases
object PartialFuncDemo {
val func1: PartialFunction[String, Int] = {
case "one" => 1
case "two" => 2
case _ => -1
}
def func2(num: String) : Int = num match {
case "one" => 1
case "two" => 2
case _ => -1
}
def main(args: Array[String]) {
println(func1("one"))
println(func2("one"))
}
}
谢谢!
--
FROM 111.30.226.*