F#使用其他参数生成一个Actor

aph*_*ph5 1 f# akka.net

我在想如何在F#中生成一个带有一些额外参数的actor?

我有以下actor函数定义

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

(...... cutted code, not needed here  )
Run Code Online (Sandbox Code Playgroud)

我试图包装该函数以生成一个演员

spawn system name (actorOf2 triggerActor    )
Run Code Online (Sandbox Code Playgroud)

但在这里我遇到了麻烦...我怎么能通过这些额外的参数?我知道我可以创建一个自定义C#风格的actor,但是现在我想尝试用F#:)

Sør*_*ois 5

我不是Akka的专家,但假设"额外参数"是你可以做的第二个参数如下.

首先颠倒形式参数的顺序:

let triggerActor (name: string, expr : string, jobCallback : JobCallback) (mailbox: Actor<TriggerCommand>) = ...
Run Code Online (Sandbox Code Playgroud)

然后部分应用函数:

spawn system name (actorOf2 (triggerActor ("name", "expr", jc )))
Run Code Online (Sandbox Code Playgroud)