我被困在這個功能的無限循環無限循環滯留:在功能
let rec showGoatDoorSupport(userChoice, otherGuess, aGame) =
if((userChoice != otherGuess) && (List.nth aGame otherGuess == "goat")) then otherGuess
else showGoatDoorSupport(userChoice, (Random.int 3), aGame);;
下面是我如何調用該函數:
showGoatDoorSupport(1, 2, ["goat"; "goat"; "car"]);
在第一條件,我比較前兩個輸入參數(1和2),如果不同,並且如果索引「otherGuess」中列表中的項不等於「山羊」,我想返回其他猜測。
否則,我想用0-2之間的隨機數作爲第二個輸入參數再次運行該函數。
重點是繼續嘗試運行該函數,直到第二個參數不等於第一個,並且該列表中的該插槽不是「山羊」,然後返回該插槽編號。
看起來像'c'編程習慣 –