什么是{< >}是什么意思?

时间:2014-09-13 14:54:24

标签: ocaml

ocaml对象教程包含这段代码,但没有解释它。

# class c0 = object method m = {< >} method n = 0 end;;
class c0 : object ('a) method m : 'a method n : int end

{&lt; &gt;}意味着它在哪里记录?

1 个答案:

答案 0 :(得分:2)

Section 3.1.3 of the OCaml manual中有一个非正式的定义。它说:

  

覆盖构造{&lt; ...&gt;}返回“self”的副本(即当前对象),可能会更改某些实例变量的值。

Section 6.9.2中给出了更正式的定义。

表达式{< >}不包含对实例变量的更改,因此它只返回“self”的副本,即当前对象。