面向对象编程 - 如何在ReasonML中创建一个类

9

我知道在OCaml中,可以通过以下方式创建一个类:

class stack_of_ints =
  object (self)
    val mutable the_list = ( [] : int list ) (* instance variable *)
    method push x =                        (* push method *)
      the_list <- x :: the_list
  end;;

然而,我一直在苦苦寻找有关如何在Reason中执行此操作的文档。谢谢。
1个回答

11

由于这些功能相对更加习惯化的方法而言带来的好处很少,所以类和对象的文档记录得不够充分。但是,如果您知道某个东西的 OCaml 语法,您可以通过在线“尝试 Reason”游乐场将其转换,从而始终可以查看 Reason 的等效物。请参见在此处提供您的示例,我们得到了这样的结果:

class stack_of_ints = {
  as self;
  val mutable the_list: list int = []; /* instance variable */
  pub push x =>
    /* push method */
    the_list = [x, ...the_list];
};

2
类有它们的用途,只是相当罕见。 - Richard-Degenne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接