F# 使用附加参数生成 Actor

F# Spawning an Actor with additional parameters

我在想如何在 F# 中生成带有一些附加参数的 actor?

我有以下角色函数定义

let triggerActor (mailbox: Actor<TriggerCommand>) (name: string, expr : string, jobCallback : JobCallback) =

(...... cutted code, not needed here  )

并且我正在尝试包装该函数以生成具有

的演员
spawn system name (actorOf2 triggerActor    )

但是我 运行 遇到了麻烦...我怎样才能传递那些额外的参数? 我知道我可以创建自定义 C# 风格的角色,但现在我想尝试使用 F# :)

我不是 Akka 专家,但假设 "extra parameters" 是第二个参数,您可以按如下方式进行操作。

先把形参的顺序倒过来:

let triggerActor (name: string, expr : string, jobCallback : JobCallback) (mailbox: Actor<TriggerCommand>) = ...

然后部分应用函数:

spawn system name (actorOf2 (triggerActor ("name", "expr", jc )))