의 연산 식에서 계산식을 좋아하지만 return 키워드 나!를 잊어 버리는 것과 같은 간단한 실수를 저질렀습니다. let과 같은 표현에! 그리고 돌아 오라!, 또는 나는 do를 쓰는 것을 잊어 버린다. 이것은 내가 상태에 대해 잊어 버리고 제가 정의한 모나드 연산자에만 집중하는 상태 모나드에서 많이 발생합니다. 때때로 모나드 연산자가 "익명"기능 대신 "모
MSDN 설명서에서 실행이 구현되면 계산식 끝에 자동으로 호출된다는 것을 알고 있습니다. 그것은 다음과 같이 말합니다 : builder.Run(builder.Delay(fun() -> {| cexpr |}))
이 계산식으로 생성됩니다. 실행 및/또는 지연은 워크 플로 작성기에서 정의되지 않은 경우 생략됩니다. Run이 자동으로 호출 될 때 ReaderB
여기 수신을위한 좋은 F # 워크 플로우 빌더있다 : I 워크 플로에 대한 사용 구현을하지만, 벽에 내 머리를 두드리는 유지하기 위해 노력했습니다 http://blogs.msdn.com/b/dsyme/archive/2011/05/30/nice-f-syntax-for-rx-reactive-extensions.aspx . 아마 여기 너무 늦었을거야. 어떻게 작
할 일에 대해 다른 행동이 필요합니다! 그리고하자! 내 사용자 지정 계산 식에서. type FooBuilder() = class
member b.Bind<'T, 'U>(x:'T, f:unit->'U):'U = failwith "not implemented" //do! implementation
member b.Bind<'T, 'U>(x:'
계산식을 사용할 때 첫 번째 정의가 작동하지만 두 번째 정의는 0이 아닙니다. member o.Zero() = 3
이 : member o.Zero = fun() -> 3
unit -> int 내지 제 평가하고 (unit -> int)에 두 번째이 차이는 무엇 . 그 차이점은 무엇입니까?