gpt4 book ai didi

ocaml - 如何访问 OCaml 中的对象字段?

转载 作者:行者123 更新时间:2023-12-04 14:11:56 26 4
gpt4 key购买 nike

我创建了一个 point OCaml 中的类,由一对 int 组成s 和 set方法:

# class point (x : int) (y : int) =
object
val mutable x = x
val mutable y = y
method set x' y' = x <- x'; y <- y'
end;;

class point :
int ->
int ->
object
val mutable x : int
val mutable y : int
method set : int -> int -> unit
end

然后我实例化了一个点:
# let p = new point 1 2;;

val p : point = <obj>

但我无法访问它的字段:
# p#x;;
Error: This expression has type point
It has no method x

# p.x;;
Error: Unbound record field x

如何访问对象的字段?

请注意 OCaml manual确实提到了私有(private)方法,但没有提到字段是私有(private)的还是公共(public)的。而且,与私有(private)方法不同,字段确实出现在类签名中,就好像它们是公共(public)的一样。

最佳答案

对象的字段是私有(private)的。您需要公开一个访问器方法才能从外部访问它们。

关于ocaml - 如何访问 OCaml 中的对象字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28749718/

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