我有一個Ocaml函數給我錯誤。遞歸列表創建函數。錯誤類型
我所試圖做的事:
遞歸創建隨機數的大小「限制」(0-2)的列表。
這是我有:
let rec carDoorNumbers = fun limit ->
match limit with
| [1] -> Random.int 3
| [] -> Random.int 3 :: carDoorNumbers (limit-1);;
我收到此錯誤:
Error: This expression has type 'a list
but an expression was expected of type int
好吧,這是有道理的。對於我的第二種情況,我不怎麼比較空的列表[],我怎樣才能將它用於限制的其他可能性(我認爲它是一個pos#)? –
參數是一個數字。你想匹配*任何*號碼(1除外,但與前一種情況相匹配)。你可以用最簡單的模式'n'來完成,它匹配任何東西並將它綁定到變量'n'。 (你可以自然地命名變量,無論你想要什麼。) –