我有以下計算表達式生成器:零和計算表達式組合
type ExprBuilder() =
member this.Return(x) =
Some x
let expr = new ExprBuilder()
我理解的方法返回目的,零和聯合,但我不明白是什麼表達式之間的區別如下所示:
let a = expr{
printfn "Hello"
return 1
} // result is Some 1
let c = expr{
return 1
printfn "Hello"
} // do not compile. Combine method required
我也不明白爲什麼在第一種情況下零方法中不需要printfn聲明?