object Test {
def main(args: Array[String]): Unit = {
val names = Array("zhangsan","lisi","wangwu")
//随机取出一个人名
val name = names(Random.nextInt(3))
val response = name match {
case "zhangsan" => "张三"
case "lisi" => "李四"
case "wangwu" => "王五"
case _ => "没人回答"
}
println(response)
println(getResponse(name))
println("考了多少名:"+name+" "+getRank(name))
}
// 左边(输入) => 右边 (输出)
def getResponse:PartialFunction[String,String]={
case "zhangsan" => "张三"
case "lisi" => "李四"
case "wangwu" => "王五"
case _ => "没人回答"
}
//输入String ,输出Int
def getRank:PartialFunction[String,Int]={
case "zhangsan" => 1
case "lisi" => 5
case "wangwu" => 8
case _ => 0
}
}
结果:
张三
张三
考了多少名:zhangsan 1
本文通过一个简单的Scala程序示例介绍了如何使用模式匹配来处理字符串输入,并返回相应的响应及排名。程序定义了三个主要函数,用于随机选择名字、获取响应消息及排名。
278

被折叠的 条评论
为什么被折叠?



