if
ステートメントのthen
ブロックを評価した後に式の残りの部分をスキップするビルダーをコーディングしようとしています。ワークフロー自体がtrue
と評価されます。 if
ステートメントのいずれもがtrue
に評価されない場合、ワークフローはfalse
を返します。例えばF# "exit early"計算式?
:
ここlet mutable x = 0
let result =
earlyExit {
if false then x <- 99
if true then x <- 33
if true then x <- 11
}
、result
はtrue
であるべきであり、x
は33
でなければなりません。 false
に評価ワークフロー、および11
からx
になり
type EarlyExitBuilder() =
member this.Combine (a, b) = a || b()
member this.Delay fn = fn
member this.Run fn = fn()
member this.Zero() = false
...:
私が得ている最も近いです。
この例では、この例の構文を使用していますか?
関連:http://stackoverflow.com/questions/13710700/f-computation-expression-for-nested-boolean-tests – bytebuster