1
這段代碼有什麼問題?這個OCaml代碼有什麼問題?
let vm_run vm =
let guard = ref true in
while !guard do
if vm.cur_pc = -1 && not (Stack.empty vm.call_stack) then vm_pop_ar vm
else if vm.cur_pc = -1 then guard := false
else if vm.cur_pc < Array.length vm.cur_code then
execute vm Array.get vm.cur_code vm.cur_pc;
vm.cur_pc <- vm.cur_pc + 1
else vm_pop_ar vm
done
錯誤是Error: Syntax error
關係到最後else
關鍵字。
我對OCaml很有信心,但if/else鏈仍然給我帶來一些麻煩。這不是第一次(我上次利用流來避免使用else關鍵字)。
我認爲這是小東西,但沒有線索,根據語法規範應該是確定
謝謝你,這是一個困難的:) 所以它試圖解析結束,如果身體在預期的結尾找到'else'不成對的愚蠢的東西之前。現在很清楚! – Jack 2010-07-06 10:31:59