gpt4 book ai didi

F# 跳过范围运算符

转载 作者:行者123 更新时间:2023-12-04 22:59:51 25 4
gpt4 key购买 nike

我正在尝试在 F# 中生成日期(时间段)列表,我在 ( F# generate a sequence/array of dates ) 找到了我的答案,它完美地工作。

但是,我无法围绕 (+) 静态成员的定义进行总结。

静态成员 (+) (d:DateTime, Span wrapper ) = ...

特别是 Span 包装部分。我什至重写为:

静态成员 (+) (d:DateTime, wrapper:Span ) = ...

即使它编译(fsi)它也不起作用。

只有当我重写它以匹配原始语法时,它才能按预期工作。

我查看了 MSDN 文档以及我拥有的一些 F# 书籍,但找不到任何解释 (+) 运算符的特定语法的内容。

最佳答案

对于上下文,这是原始示例:

type Span = 
| Span of TimeSpan
static member (+) (d:DateTime, Span wrapper) = d + wrapper
static member Zero = Span(new TimeSpan(0L))

(+) ,作者直接在参数上使用模式匹配。这意味着包装器的类型为 TimeSpan , 和 d + wrapperDateTime之间的操作和 TimeSpan
该示例在以下详细形式中看起来更清晰:
static member (+) (d:DateTime, span: Span) = 
match span with
| Span wrapper ->
d + wrapper

关于F# 跳过范围运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29331198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com