这种情况下,类匹配模式是如何工作的?(How is this case class match pa

2019-06-24 10:25发布

我刚看到的斯卡拉这种情况下,类actors包:

case class ! [a](ch: Channel[a], msg: a)

而在JavaDoc它描述为以下形式使用:

receive {
  case Chan1 ! msg1 => ...
  case Chan2 ! msg2 => ...
}

这是为什么不是:

receive {
  case !(Chan1, msg1) => ...
  case !(Chan2, msg2) => ...
}

是一声运营商! 特殊情况下,以类似的方式在一个冒号结束的方法:

Answer 1:

当进行模式匹配,Scala编译器将解释o1 c1 o2相同c1(o1, o2) 这就是为什么::工作内侧的图案也很相配。



文章来源: How is this case class match pattern working?