【问题标题】:Computational Expression using Zero使用零的计算表达式
【发布时间】:2012-04-13 07:54:50
【问题描述】:

使用计算表达式时,第一个定义有效,但第二个定义无效。

这有什么区别:

member o.Zero() = 3

还有这个:

member o.Zero = fun() -> 3

第一个计算为unit -> int,第二个计算为(unit -> int)。有什么区别?

【问题讨论】:

    标签: f# computation-expression


    【解决方案1】:

    如果它们是 let-bounds,则没有区别。但是,在类定义中,第一个 o.Zero 是一个方法,而第二个 o.Zero 是一个属性。

    计算表达式需要一个名为Zero的方法;这就是为什么当您提供具有相同名称的属性时它不起作用的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多