3

計算式を使用する場合、最初の定義は機能しますが、ゼロでは 2 番目の定義は機能しません。

これの違いは何ですか:

member o.Zero() = 3

この:

member o.Zero = fun() -> 3

1 番目は に評価されunit -> int、2 番目は に評価され(unit -> int)ます。違いはなんですか?

4

1 に答える 1

5

それらがlet-boundsである場合、違いはありません。ただし、クラス定義では、最初o.Zeroはメソッドであり、2 番目o.Zeroはプロパティです。

Zero計算式には;という名前のメソッドが必要です。そのため、同じ名前のプロパティを指定すると機能しませんでした。

于 2012-03-29T16:22:30.053 に答える