-4
問題已解決。問題是我忘記在「更改」不可變變量時使用let語句。OCaml查找元素列表中的新元素
問題已解決。問題是我忘記在「更改」不可變變量時使用let語句。OCaml查找元素列表中的新元素
你在這裏使用你的命令性反應太多了。這些OCaml行:
index = pos
pos = pos + 1
正在計算布爾值,而不是賦值給變量。你不能在OCaml中給一個變量賦值(就像這樣)。變量是不可變的。寫在OCaml的這些行的慣用方式是這樣的:
let index' = pos in
let pos' = pos + 1 in
index_helper t element index' pos' true
這裏有其他錯誤,但是這在我看來是先弄清楚事情。
@JeffreyScofield是現貨。你也可以問自己,如果(h = e)然後'這個'e'是什麼。 – didierc 2013-03-23 18:37:34
請保留原始問題,以便將來的讀者能夠理解答案。告訴你的問題解決了的stackoverflow方法是接受一個答案,你做了。 – jrouquie 2013-03-24 10:42:03