加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 基于Collection的多任务

发布时间:2020-12-16 18:23:45 所属栏目:安全 来源:网络整理
导读:编辑 最初的问题是“Collection to Tuple”,因为我认为我需要一个元组来进行变量多任务.事实证明,人们可以直接对集合进行变量多重赋值.相应地重新提出了问题. 原版的 有一个简单的Seq [String]派生自正则表达式,我想转换为元组. 最直接的方法是什么? 我目前
编辑

最初的问题是“Collection to Tuple”,因为我认为我需要一个元组来进行变量多任务.事实证明,人们可以直接对集合进行变量多重赋值.相应地重新提出了问题.

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

最直接的方法是什么?

我目前有:

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

哪个没问题,但是我的路由层有一堆正则表达式匹配的路由,我将在val(a,b,c)上进行多项分配(捕获组总是已知的,因为如果正则表达式没有处理路由,则不会处理比赛).如果有一个更精简的解决方案比匹配{case .. => ..}

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

解决方法

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

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

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

这将列表的前三个元素分配给a,c?你可以在val声明中匹配其他东西,如Seq,就像在case语句中一样.请务必注意匹配错误:

Catching MatchError at val initialisation with pattern matching in Scala?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读