OCaml顶级模式返回<;obj>;而不是对象
我目前在顶级模式下使用OCaml,当我试图获取输出时,顶级模式通常返回OCaml顶级模式返回<;obj>;而不是对象,ocaml,Ocaml,我目前在顶级模式下使用OCaml,当我试图获取输出时,顶级模式通常返回,而不是我试图查看的对象。我如何告诉OCaml显示实际对象,而不仅仅是?正如您所看到的,顶层将对象视为抽象值。要获得更多信息,您必须为该类型编写自己的打印函数,并使用#install_printer进行安装 # object method getv = 14 end;; - : < getv : int > = <obj> # let p f x = Format.fprintf f "<<
,而不是我试图查看的对象。我如何告诉OCaml显示实际对象,而不仅仅是
?正如您所看到的,顶层将对象视为抽象值。要获得更多信息,您必须为该类型编写自己的打印函数,并使用#install_printer
进行安装
# object method getv = 14 end;;
- : < getv : int > = <obj>
# let p f x = Format.fprintf f "<< v = %d >>" x#getv;;
val p : Format.formatter -> < getv : int; .. > -> unit = <fun>
# #install_printer p;;
# object method getv = 14 end;;
- : < getv : int > = << v = 14 >>
#对象方法getv=14 end;;
-:=
#设pfx=Format.fprintf f“>”x#getv;;
val p:Format.formatter->->单位=
#安装打印机p;;
#对象方法getv=14结束;;
-:=>
注释
- 这需要对感兴趣的值使用getter方法。无法从外部访问对象的字段
- 打印函数是根据类型调用的。OCaml对象类型是结构化的(基于方法及其类型),而不是标称的(基于程序员建立的名称层次结构)
#install_printer
进行安装
# object method getv = 14 end;;
- : < getv : int > = <obj>
# let p f x = Format.fprintf f "<< v = %d >>" x#getv;;
val p : Format.formatter -> < getv : int; .. > -> unit = <fun>
# #install_printer p;;
# object method getv = 14 end;;
- : < getv : int > = << v = 14 >>
#对象方法getv=14 end;;
-:=
#设pfx=Format.fprintf f“>”x#getv;;
val p:Format.formatter->->单位=
#安装打印机p;;
#对象方法getv=14结束;;
-:=>
注释
- 这需要对感兴趣的值使用getter方法。无法从外部访问对象的字段
- 打印函数是根据类型调用的。OCaml对象类型是结构化的(基于方法及其类型),而不是标称的(基于程序员建立的名称层次结构)
#install_printer
进行安装
# object method getv = 14 end;;
- : < getv : int > = <obj>
# let p f x = Format.fprintf f "<< v = %d >>" x#getv;;
val p : Format.formatter -> < getv : int; .. > -> unit = <fun>
# #install_printer p;;
# object method getv = 14 end;;
- : < getv : int > = << v = 14 >>
#对象方法getv=14 end;;
-:=
#设pfx=Format.fprintf f“>”x#getv;;
val p:Format.formatter->->单位=
#安装打印机p;;
#对象方法getv=14结束;;
-:=>
注释
- 这需要对感兴趣的值使用getter方法。无法从外部访问对象的字段
- 打印函数是根据类型调用的。OCaml对象类型是结构化的(基于方法及其类型),而不是标称的(基于程序员建立的名称层次结构)
#install_printer
进行安装
# object method getv = 14 end;;
- : < getv : int > = <obj>
# let p f x = Format.fprintf f "<< v = %d >>" x#getv;;
val p : Format.formatter -> < getv : int; .. > -> unit = <fun>
# #install_printer p;;
# object method getv = 14 end;;
- : < getv : int > = << v = 14 >>
#对象方法getv=14 end;;
-:=
#设pfx=Format.fprintf f“>”x#getv;;
val p:Format.formatter->->单位=
#安装打印机p;;
#对象方法getv=14结束;;
-:=>
注释
- 这需要对感兴趣的值使用getter方法。无法从外部访问对象的字段
- 打印函数是根据类型调用的。OCaml对象类型是结构化的(基于方法及其类型),而不是标称的(基于程序员建立的名称层次结构)