什么了!b在斯卡拉意味着什么?

La-*_*eja 1 scala operators

我正在阅读一些Scala代码,部分程序内容如下:

clusterManager ! ClusterManagerMessages.Shutdown
clusterNotificationManager ! ClusterNotificationMessages.Shutdown
Run Code Online (Sandbox Code Playgroud)

我看到 !是一元运算符,这个代码是什么意思?

om-*_*nom 7

在Scala语言没有(在你的情况下),但它通常是指火正忘消息斯卡拉演员.还有?,当你想有手柄在未来的形式响应所使用的对应.


Dav*_*ski 5

!运营商的速记tell斯卡拉演员API的方法.该用于akka.actor.ActorRef Scaladoc提供了两个例子,一个是每个斯卡拉和Java的.请注意Java如何使用该tell方法,Scala使用该!运算符.

在个人方面,我发现当我第一次研究Scala演员并且!在Scaladocs中没有发现二元运算符的明确定义时,我感到特别沮丧.到目前为止,我已经发现的最好的资源是引入Scala Actors,是由Odersky等人编写的Scala编程(第32章).如果您有时间和/或奉献精神来深入了解Akka Actor模型以及幕后发生的事情,我推荐Akka in Action.

  • 我花了几年时间学习如何在高中正确拼写`tell`.我很高兴,有人终于照顾到了那个麻烦`!` (2认同)