gpt4 book ai didi

Ocaml - 前向声明(类)

转载 作者:行者123 更新时间:2023-12-04 23:08:04 29 4
gpt4 key购买 nike

我需要有两个类相互引用。 Ocaml 中是否有任何方法可以对其中之一进行前向声明?

(我不认为用词 and 更简单的东西是可能的)。

或者也许这是可能的,但与我尝试的方式不同?

最佳答案

Ocaml 没有任何类似于前向声明的东西(即最终会定义某些东西的 promise ),但它具有递归定义(即声明的事物 block ,然后立即根据彼此定义)。表达式、类型、类和模块(以及更多)之间可以进行递归定义;相互递归模块允许递归定义混合对象集。

您可以使用关键字 and 的递归定义来解决您的问题。 :

class foo(x : bar) = object
method f () = x#h ()
method g () = 0
end

and bar(x : foo) = object
method h () = x#g()
end

关于Ocaml - 前向声明(类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377772/

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