gpt4 book ai didi

scala - 基于集合的多任务分配

转载 作者:行者123 更新时间:2023-12-04 22:23:51 24 4
gpt4 key购买 nike

编辑

最初的问题是“集合到元组”,因为我认为我需要一个元组来进行变量多重赋值。事实证明,可以直接对集合进行变量多重赋值。相应地重新命名了问题。

原始
有一个简单的 Seq[String] 派生自正则表达式,我想将其转换为元组。

最直接的方法是什么?

我目前有:

val(clazz, date) = captures match {
case x: Seq[String] => (x(0), x(1))
}

没关系,但是我的路由层有一堆正则表达式匹配的路由,我将对其进行 val(a,b,c) 多分配(捕获组总是已知的,因为如果 regex 不处理路由,则不会处理该路由比赛)。有一个比 match { case.. => ..} 更精简的解决方案会很好

在 Scala 中将集合转换为元组的最短 1-liner 是什么?

最佳答案

这不是问题的答案,但可能会以不同的方式解决问题。

你知道你可以像这样匹配 xs: List[String]:

val a :: b :: c :: _ = xs 

这将列表的前三个元素分配给 a,b,c ?您可以在 Seq 的声明中匹配 val 等其他内容,就像在 case 语句中一样。请务必注意匹配错误:

Catching MatchError at val initialisation with pattern matching in Scala?

关于scala - 基于集合的多任务分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9045418/

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