这种情况下,类匹配模式是如何工作的?
-
21-08-2019 - |
题
我刚看到这种情况下类中Scala的actors
包:
case class ! [a](ch: Channel[a], msg: a)
和在JavaDoc它描述在下列形式使用:
receive {
case Chan1 ! msg1 => ...
case Chan2 ! msg2 => ...
}
这是为什么不:
receive {
case !(Chan1, msg1) => ...
case !(Chan2, msg2) => ...
}
时的爆炸操作!一种特殊情况中类似的方式在一个冒号结束方法:
解决方案
当做模式匹配,Scala编译器将解释o1 c1 o2
一样c1(o1, o2)
。这就是为什么::
工作内侧的图案也很相配。
不隶属于 StackOverflow