F# 使用附加参数生成 Actor

标签 f# akka.net

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

我有以下 Actor 函数定义

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

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

我试图包装该函数以产生一个 Actor

spawn system name (actorOf2 triggerActor    )

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

最佳答案

我不是 Akka 专家,但假设“额外参数”是第二个参数,您可以按如下方式执行。

先把形参的顺序倒过来:

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

然后部分应用函数:

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

关于F# 使用附加参数生成 Actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420454/

相关文章:

wpf - 在 WPF 和 F# 中组合事件(或者,我要疯了吗?)

f# - 如何在 F# 中的集群配置中创建参与者

f# - 在 akka.net actor{} 表达式中等待 F# 异步任务

c# - 参与者内部的异步 API 调用和异常

c# - Akka.net vs Orleans 表现

F#如何在类型声明中设置数组长度

构造函数中的 F# 引号、数组和自标识符

f# - 是什么让 FSharpFunc<> 比 Func<> 快?

f# - 检查几种选项类型,然后转换为类型

performance - 同步时 F# Akka.NET 代理性能优化