Scala 的 @ 运算符有什么作用?
例如,在博客文章中Scala 中的形式语言处理,第 2 部分有这样的东西
case x @ Some(Nil) => x
它使人们能够将匹配的模式绑定到变量。例如,考虑以下情况:
val o: Option[Int] = Some(2)
您可以轻松提取内容:
o match {
case Some(x) => println(x)
case None =>
}
但如果你不想要怎么办content of Some
,但是选项本身呢?这可以通过以下方式完成:
o match {
case x @ Some(_) => println(x)
case None =>
}
注意@
可以用于any级别,而不仅仅是匹配的顶层。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)