Вычислительное выражение с использованием нуля

При использовании вычислительного выражения первое определение работает, а второе — нет для нуля.

В чем разница между этим:

member o.Zero() = 3

и это:

member o.Zero = fun() -> 3

Первый оценивается как unit -> int, а второй — как (unit -> int). В чем разница?


person Paul Nikonowicz    schedule 29.03.2012    source источник


Ответы (1)


Если они позволены, нет никакой разницы. Однако в определении класса первое o.Zero — это метод, а второе o.Zero — это свойство.

Выражение вычисления предполагает метод с именем Zero; вот почему это не сработало, когда вы предоставили свойство с тем же именем.

person pad    schedule 29.03.2012