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

scala – 有没有办法让ArrowAssoc在模式匹配中工作?

发布时间:2020-12-16 19:00:05 所属栏目:安全 来源:网络整理
导读:如果我想写 1 - 2 match { case 1 - 2 = "matched" case _ = "not matched"}// error: not found: value - 而不是稍微不那么明显 1 - 2 match { case (1,2) = "matched" case _ = "not matched"} 解决方法 我只有这样的事情!我喜欢它,因为我发现它在许多情
如果我想写

1 -> 2 match {
  case 1 -> 2 => "matched"
  case _      => "not matched"
}
// error: not found: value ->

而不是稍微不那么明显

1 -> 2 match {
  case (1,2) => "matched"
  case _      => "not matched"
}

解决方法

我只有这样的事情!我喜欢它,因为我发现它在许多情况下更易读.

object -> {
  def unapply[A,B](pair: (A,B)): Option[(A,B)] =
    Some(pair)
}

现在你可以做:

scala> val a -> b = 1 -> 2
a: Int = 1
b: Int = 2

(编辑:李大同)

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

    推荐文章
      热点阅读