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

Scala Map模式匹配

发布时间:2020-12-16 18:54:27 所属栏目:安全 来源:网络整理
导读:如何在 Scala中的Map上进行模式匹配? (非工作)尝试包括, Map("a"-1,"b"-2,"c"-3) match { case Map(a,b,_*) = a} 哪个错了 value Map is not a case class,nor does it have an unapply/unapplySeq member case Map(a,_*) = a 错误是指示性的,但如何使用一
如何在 Scala中的Map上进行模式匹配?

(非工作)尝试包括,

Map("a"->1,"b"->2,"c"->3) match {
  case Map(a,b,_*) => a
}

哪个错了

value Map is not a case class,nor does it have an unapply/unapplySeq member
              case Map(a,_*) => a

错误是指示性的,但如何使用一种不适用的模式匹配方法来丰富Map?

非常感谢

更新

根据@Paul的评论,一个更整洁的用例可能是这样的,"c"->3) match { case Map("b"->2,_*) => "222" }

即,在这种情况下,如果map包含映射到值2的键b.

解决方法

最简单的方法是tramsform Map to List:

Map("a"->1,"c"->3).to[List] match {
  case List(a,_*) => a
}

(编辑:李大同)

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

    推荐文章
      热点阅读