F#错误:此值不是函数,无法应用

时间:2013-10-05 07:58:29

标签: f#

 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是可变变量。

2 个答案:

答案 0 :(得分:4)

或者您可以将GetVal的签名更改为不传递元组 - 如下所示:

let GetVal i isMin al be =

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

答案 1 :(得分:2)

你的GetVal函数在使用curried arguments [{1}}

调用它时会使用tupled arguments (a,b,c,d)

这样的事情应该有效

a b c d