【发布时间】:2015-12-31 09:21:10
【问题描述】:
如果我将这段代码逐行放到 utop 中,那么它可以工作,但是如果我将它编译为程序,那么我会看到错误。
module List = Core.Std.List;;
let () =
let shifts = [ (-1, -1); (0, -1) ] in
let first = List.nth shifts 0 in
let (a, b) = first in
Printf.printf "%d %d\n" a b;
;;
还有错误信息:
Error: This expression has type (int * int) option
but an expression was expected of type 'a * 'b
类型有什么问题以及为什么它在 utop 中有效?
【问题讨论】:
标签: ocaml