Akka docsはメソッドとしてActorのreceiveを呼び出します。しかし、APIごとに抽象メソッドではなく抽象型メンバーです。受信する理由はどれもメソッドと呼ばれますか?受信がメソッドと呼ばれるのはなぜですか?
答えて
ええ、ドキュメントを少し改善することができました。
Actor traitを調べると、確かにreceive
がメソッドであることがわかります。署名の中のActor.Receive
は、あなたが参照しているタイプメンバで、Actor objectで定義されています。
したがって、receive
は、すべてのアクタが実装する必要がある抽象メソッドです。そのタイプは部分的な機能です。大文字と小文字が混在するため、簡単に分かります。
def receive = {
case "test" => log.info("received test")
case _ => log.info("received unknown message")
}
各ケースステートメントはAny
を受け取り、Unit
を返し、そう部分関数の実際の型は、PartialFunction[Any, Unit]
あります。明快さと簡潔さのために、Akkaの人々は、特定のタイプのプレースホルダを作成することを決めました。それはReceive
と呼ばれ、Actorコンパニオンオブジェクトに入れました。
小規模なディグリー:多くの人々はメッセージタイプがAny
であることに本当に満足していないし、Akkaの人々は型付きメッセージを導入すると約束している。彼らはまだ最新のリリースでそれを配信したかどうかは分かりません。
型付きメッセージについては、[Akka Typed](http://doc.akka.io/docs/akka/current/scala/typed.html)機能は利用可能ですが、最近のリリースではまだ実験中です。 –
おかげで、ありがとう。 – slouc
- 1. NSURLSessionメソッド "sharedSession()"が "sharedSession"と呼ばれるのはなぜですか?
- 2. なぜメソッド受信者は一貫性がなければならないのですか?
- 3. receive()メソッドがクライアントからデータを受信しないのはなぜですか?
- 4. 投稿メソッドが送信されたデータを受信しないのはなぜですか?
- 5. メソッドが呼び出されないのはなぜですか?
- 6. Objective-Cのメソッド呼び出しがメッセージ渡しと呼ばれているのはなぜですか?
- 7. 受信呼び出しを非同期にすることができないのはなぜですか?
- 8. 「タイプクラス」は「タイプクラス」と呼ばれるのはなぜですか?
- 9. RESTはアーキテクチャスタイルと呼ばれるのはなぜですか?
- 10. 9patchがなぜ9patchと呼ばれるのですか
- 11. 「フォームコントロール」と呼ばれるのはなぜですか?
- 12. なぜ、ブールは「フラグ」と呼ばれるのですか?
- 13. なぜ豚はバッチ処理と呼ばれるのですか
- 14. アセンブリと呼ばれるのはなぜですか?
- 15. クライアントがバイトを受信しないのはなぜですか?
- 16. なぜデータを受信するのが遅れますか?
- 17. 呼び出すメソッドと呼ばれるメソッドとは何ですか?
- 18. なぜnewObjectメソッドが呼び出されないのですか?
- 19. rpbとrspが汎用レジスタと呼ばれるのはなぜですか?
- 20. キューがサブスクリプション・イベントを受信しますが、プログラムは受信しないのはなぜですか?
- 21. Firebugでは、ネットタブの「受信」値がゼロになるのはなぜですか?
- 22. データペイロードが提供されているときにWM_COPYDATAメッセージが受信されないのはなぜですか?
- 23. SIP INVITEでは、なぜACKがトランザクションと呼ばれるのですか。
- 24. Javaの「最高」のスーパークラスが「オブジェクト」と呼ばれるのはなぜですか?
- 25. Javaのユーザーレベルのスレッドが「グリーン」と呼ばれるのはなぜですか?
- 26. 正しいデータが受信されないのはなぜですか?
- 27. オーバーロードされたメソッドが呼び出されないのはなぜですか?
- 28. SQLがデータのサブ言語と呼ばれるのはなぜですか?
- 29. .NETのセキュリティコンテキストがプリンシパルと呼ばれるのはなぜですか?
- 30. コンパイラ固有のディレクティブがプラグマと呼ばれるのはなぜですか?
あなたはもっと具体的になりますか?どのクラスから受け取りますか?おそらくあなたが指しているakkaドキュメントへのリンク? – pedrorijo91