温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Scala匹配模式检查对象的内容

发布时间:2021-12-08 15:40:14 来源:亿速云 阅读:149 作者:iii 栏目:云计算

这篇文章主要讲解了“如何使用Scala匹配模式检查对象的内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Scala匹配模式检查对象的内容”吧!

让我们来尝试一次深度匹配,在我们的模式匹配中检查对象的内容。

//code-examples/Rounding/match-deep-script.scala

case class Person(name: String, age:Int)  

val alice = new Person("Alice",25)  

val bob = new Person("Bob",32)  

val charlie = newPerson("Charlie", 32)  

for (person <- List(alice, bob,charlie)) {   

    person match {

        case Person("Alice", 25) => println("HiAlice!")  

        case Person("Bob", 32) => println("Hi Bob!")  

        case Person(name, age) => println("Who are you, " + age +" year-old person named " + name + "?")  

    }  

}

从上面例子的输出中我们可以看出,可怜的Charlie 被无视了:

?

1

2

3       HiAlice!   

Hi Bob!  

Who are you, 32 year-old person namedCharlie?

我们收线定义了一个case 类,一个特殊类型的类,现在,我们只需要知道,一个case 类允许精炼的简单对象的构造,以及一些预定义的方法。然后,我们的模式匹配通过检查传入的Person case 类的值来查找Alice 和Bob。Charlie 则直到最后那个饥不择食的case 才被捕获;尽管他和Bob 有一样的年龄,但是我们同时也检查了名字属性。

我们后面会看到,这种类型的模式匹配和Actor 配合工作时会非常有用。Case 类经常会被作为消息发送到Actor,对一个对象的内容进行深度模式匹配是“分析”这些消息的方便方式。

感谢各位的阅读,以上就是“如何使用Scala匹配模式检查对象的内容”的内容了,经过本文的学习后,相信大家对如何使用Scala匹配模式检查对象的内容这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI