vir*_*yes 4 collections scala tuples
编辑
最初的问题是"Collection to Tuple",因为我认为我需要一个元组来进行变量多任务.事实证明,人们可以直接对集合进行变量多重赋值.相应地重新提出了问题.
原始 有一个简单的Seq [String]派生自正则表达式,我想转换为元组.
最直接的方法是什么?
我目前有:
val(clazz, date) = captures match {
case x: Seq[String] => (x(0), x(1))
}
Run Code Online (Sandbox Code Playgroud)
哪个没问题,但是我的路由层有一堆正则表达式匹配的路由,我将在val(a,b,c)上进行多项分配(捕获组总是已知的,因为如果正则表达式没有处理路由,则不会处理比赛).比匹配{case .. => ..}更精简的解决方案会更好
什么是最短的1-liner将集合转换为Scala中的元组?
这不是问题的答案,但可能以不同的方式解决问题.
你知道你可以这样匹配xs: List[String]:
val a :: b :: c :: _ = xs
Run Code Online (Sandbox Code Playgroud)
这会将列表的前三个元素分配给a,b,c?您可以匹配其他内容,例如Seq声明中val的case声明.请务必注意匹配错误:
在val初始化时捕获MatchError并使用Scala中的模式匹配?
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |