この場合、クラス一致パターンはどのように働いていますか?
-
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