gpt4 book ai didi

ocaml - 具有不同文件的未绑定(bind)类型构造函数 OCaml

转载 作者:行者123 更新时间:2023-12-01 23:44:26 26 4
gpt4 key购买 nike

我正在用 OCaml 开发一个项目,但是我在编译时遇到了问题。我有一个“未绑定(bind)类型构造函数 Door.position”。我用一个makefile编译。门.mli :

module Door : sig
type position
type state
type door

val create : position -> state -> door
val getState : door -> state
val setState : door -> state -> door
val getPosition : door -> position
val setPosition : door -> position -> door
val isOpen : door -> bool
end;;

文件包含错误,case.mli:

module Case : sig
type case

val create : int -> int -> case
val getDoor : case -> Door.position -> Door.door
end;;

我不知道问题出在哪里。

最佳答案

在 OCaml 中,所有代码都放在文件 foo.ml 中(或 foo.mli )隐式打包到模块 Foo 中.在你的情况下,如果你有 door.mli包含名为 Door 的模块,这意味着从外部只能通过 Door.Door 访问它,即,您需要它符合文件名。

简而言之,这意味着在您的 mli 中你不需要写的文件module Door : sig ,因为它已经隐含在那里。只需写下您的签名即可。

关于ocaml - 具有不同文件的未绑定(bind)类型构造函数 OCaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29991850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com