OOP - 如何在ReasonML中创建一个类

时间:2017-09-14 12:38:37

标签: oop ocaml reason

我知道在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 个答案:

答案 0 :(得分:11)

类和对象没有很好地记录,因为与更惯用的方法相比,这些特性为(通常)非常少的好处增加了很多复杂性。但是,如果您知道某些内容的OCaml语法,您可以通过在线转换它来随时查看Reason的等效内容&#34; Try Reason&#34;操场。请参阅your example here,其中包含以下内容:

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