1
所以我有以下代碼:OCaml的 - 預計「模塊」或「打開」或[opt_rec]後,「讓」錯誤
let rec take k list acc = match list with
| [] -> failwith "empty list"
| x::xs when k = 0 -> x, acc @ xs
| x::xs -> take (k - 1) xs (acc @ [x]);;
let rec random_p l acc = match l with
| [] -> acc
| [x] -> acc @ [x]
| x::xs -> let r = (Random.int (List.length l)) in let val, rest = take r (x::xs) [] in random_p rest ([email protected][val])
然而,當我試圖進入第二個功能,我得到的錯誤
Parse error: "module" or "open" or [opt_rec] expected after "let" (in [expr])
第二個'let'在最後一行加下劃線作爲錯誤的來源。我之前嘗試過使用和不使用隨機函數,但總是得到這個錯誤。我無法弄清楚問題是什麼,我已經習慣了,並且在其他代碼中以幾乎相同的方式放行。
這似乎是正確的 - 非常感謝! – Jayem