为什么f#自定义操作不允许进入控制流程语句?

时间:2017-10-20 15:08:17

标签: f# computation-expression

在任何控制流语句中使用f#计算表达式的自定义操作都无法使用

进行类型检查
error FS3086: A custom operation may not be used in conjunction with 'use',
'try/with', 'try/finally', 'if/then/else' or 'match' operators within this
computation expression

为什么不允许这样做?什么是自定义操作,不允许重写:

expr {
    if a then
        custom (x)
    else
        return (y)
}

这样的事情:

expr {
    return! 
        if a then
            expr { custom (x) }
        else
            expr { return (y) }
}

0 个答案:

没有答案