let GetVal (i,isMin,al, be)=
        let b = new Board(board)
        if b.SetBoardBool(i) then this.MinMaxAlphaBeta(b, isMin, al, be)
        else -2

    let valList = seq{
            for i =0 to 8 do
                yield (GetVal i (not isMin) alphaF betaF ,  not isMin)
                }

我收到一条F#错误消息:该值不是函数,无法应用。

valList是int和bool元组的序列,GetVal将int bool int转换为int并返回int。其中alphaF betaF是可变变量。

最佳答案

或者,您可以将GetVal的签名更改为不传递元组-像这样:

let GetVal i isMin al be =

i,isMin,al和被称为 curry 参数。您可以在主题“参数的部分应用”下找到更多详细信息here。我会发布一个直接链接,但似乎没有一个。

10-08 13:48