我是功能性編程的新手,需要製作一個簡單的紙牌遊戲,但在錄製功能時遇到問題。卡牌遊戲的OCaml rec函數
假設我有一個5名球員的名單。現在我用玩家當前的牌爲每個玩家打印一個菜單,然後玩家放下一張牌並繪製一張新牌。
我需要跑直到甲板沒有牌。
這是我的代碼:
let rec round deck players =
match deck with
| [] ->()
| h::t -> (match players with
| x::xs -> print_mazo deck;
print_play x;
let i = read_int() in
let (newhand, carta) = drop x.mano i in
let (newdeck, newhand2) = draw deck newhand 1 in
print_ronda x carta;
round newdeck xs
| [] -> round newdeck players
)
我得到這個錯誤:
Error: Unbound value newdeck
看起來問題與'read_int'一致:它應該是'read_int()' –
(1)最好有一個實際編譯的最小化完整示例。 (2)至少你應該在錯誤發生的地方標記出來。 –
你不能改變你的問題。它使舊的答案無意義。 –