我正在尝试在 OCaml 中模拟一个接口并使用“类型”构造。我有两种类型:
type fooSansBar = {a: string; b: int};;
type fooConBar = {a:string; b:int; bar:char};;
...并想定义一个特定的 fooSansBar:
let fsb = {a="a"; b=3};;
...但被告知 bar 字段未定义。由此看来,与我在匹配 fooSansBar 的签名中传递的值相反,系统认为我正在尝试创建一个 fooConBar。如果存在上面定义的两种类型,是否可以创建 fooSansBar?
此外(因为我是 OCaml 的新手)是否有更好的方法来模拟界面?