gpt4 book ai didi

Scala 模式匹配语法

转载 作者:行者123 更新时间:2023-12-04 15:15:04 25 4
gpt4 key购买 nike

我最近一直在玩 Scala 模式匹配,想知道是否有办法在 case 语句中创建提取器。以下代码有效,但您必须先定义提取器并将其分配给一个 val:

val Extr = "(.*)".r
"test" match {
case Extr(str) => println(str)
}

我想做的事情,或者我想让别人确认的事情是不可能的,是这样的:
"test" match {
case ("(.*)".r)(str) => println(str)
}

编辑:如果 Scala 团队中的任何人正在阅读这篇文章:实现这个是否可行?

最佳答案

不幸的是,这是不可能的,我认为没有办法简化您的第一个示例。

case 语句后必须跟一个模式。 Scala Language Specification在第 8.1 节中显示了模式的 BNF。模式的语法非常强大,但实际上只是一种模式,那里不允许有方法调用或构造函数。

关于Scala 模式匹配语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com