computation-expression

computation-expression

文章 0 浏览 4

您如何在计算表达式中传递/设置BYREF参数?

此F#代码未能编译: let DoubleString (str : string) = str + str let ExampleSetString (str : string byref) = async { str <- DoubleString str …

兔姬 2025-02-10 11:25:31 1 0

在任务CES或异步CES内使用可变的让绑定是安全的吗?

当您认为自己知道时,您不知道,是今天早些时候我脑海中发生的事情。在浏览某人的代码时,我注意到了类似的内容: task { let mutable pleaseContinue…

白衬杉格子梦 2025-01-26 21:35:36 3 0

F#自定义操作员报告在计算表达式中使用不正确的用法

我正在创建一个计算表达式(CE),以简化建模者计划的定义。我想定义仅在CE中可用的功能。在此示例中,编译器说“自定义操作” 步骤和分支被错误地使…

陪我终i 2025-01-22 05:45:06 2 0

F#:有没有办法扩展 monad 关键字列表?

在 F# monad 中,如果您说 let!,编译器会将其转换为您在 monad 构建器上定义的 Bind 成员。 现在我看到有查询单子,如 所示在 MSDN 上,您可以在其中…

痕至 2025-01-05 10:28:30 9 0

如何在 Maybe 计算生成器中实现延迟?

这是我到目前为止所得到的: type Maybe = option let succeed x = Some(x) let fail = None let bind rest p = match p with | None -> fail | Some …

墨洒年华 2024-12-29 13:38:27 2 0

我该如何构建递归计算表达式生成器

我想做的是有一个函数,我可以重复地将转换函数传递到其中并接收组合转换,转换函数的形式为 'a ->; 'b 即不是像这样组成一个固定的工作流程: let in…

花开雨落又逢春i 2024-11-15 04:48:14 6 0

如何更改 Rx Builder 实现来修复堆栈溢出异常?

我正在尝试提出一个 Rx Builder,以在 F# 计算表达式语法中使用反应式扩展。我该如何修复它,以免堆栈崩溃?就像下面的 Seq 例子一样。 是否有计划提…

望笑 2024-11-10 09:30:05 9 0

重试 F# 中的计算表达式或其他构造

我希望能够在 F# 中编写一个计算表达式,以便在抛出异常时能够重试操作。现在我的代码如下所示: let x = retry (fun() -> GetResourceX()) let y = r…

忘年祭陌 2024-11-06 18:08:37 7 0

有没有办法对 do! 进行不同的实现?让!在计算表达式中?

我需要不同的行为来做!让!在我的自定义计算表达式中。 我尝试通过以下方式实现此目的: type FooBuilder() = class member b.Bind(x:'T, f:unit->'U…

浮光之海 2024-10-30 18:26:57 9 0

如何最好地抓住失踪的let!、do!、return和return!在 F# 的计算表达式中

我喜欢计算表达式,但我会犯一些简单的错误,例如忘记 return 关键字或 !诸如 let! 之类的表达式然后返回!,或者我只是忘记写 do!。这种情况在状态…

美羊羊 2024-10-06 11:01:47 9 0

计算工作流程问题

尝试遵循专家 f# 书中的示例,并且工作流程出现问题...代码如下: type Attempt = option let succeed x = Some (x) let fail = None let bind p rest…

空城之時有危險 2024-10-02 19:32:44 8 0

如何将 `where T : U` 泛型类型参数约束从 C# 转换为 F#?

F# 的类型推断规则给我带来了一些麻烦。我正在编写一个简单的计算生成器,但无法正确获得通用类型变量约束。 我想要的代码在 C# 中如下所示: class F…

一枫情书 2024-10-01 18:21:55 12 0

递归计算表达式

在上一个问题中,我被告知如何重写我的计算表达式,以便它使用尾递归。我重写了代码,但仍然遇到 StackOverflowException。为了找到问题,我使用状态 …

情话已封尘 2024-09-09 04:49:45 15 0

如何创建支持单步执行等功能的 F# 工作流程?

我想创建一个构建器来构建表达式,该表达式在每个步骤后返回类似于延续的内容。 像这样: module TwoSteps = let x = stepwise { let! y = "foo" prin…

罪歌 2024-08-17 21:19:06 10 0

F# 中的自定义计算表达式

我一直在玩弄 F# 中的 monad(又名计算表达式),并且编写了这个简单的 Identity monad: type Identity = | Identity of 'a type IdentityBuilder() …

戈亓 2024-08-15 02:03:13 12 0
更多

推荐作者

十二

文章 0 评论 0

飞烟轻若梦

文章 0 评论 0

OPleyuhuo

文章 0 评论 0

wxb0109

文章 0 评论 0

旧城空念

文章 0 评论 0

-小熊_

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文