6
 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 は変更可能な変数です。

4

2 に答える 2

2

GetVal関数は、カリー(a,b,c,d)化された引数で呼び出している間、タプルされた引数を取りますa b c d

このようなものが動作するはずです

yield (GetVal (i, (not isMin), alphaF, betaF) ,  not isMin)
于 2013-10-05T08:07:02.767 に答える