我想使用OCaml创建一个数据成员的对象,但不一定要为数据成员指定一个初始值。很多示例似乎都使用了列表,但我想使用我创建的对象类型的单个实例。这可能吗?谢谢。OCaml数据成员没有初始化
class bar = object end;;
class foo =
object (self)
val myDataMember = ((* ??? *) : bar)
end;;
此外,我已经试过了选项关键字无济于事:
class bar =
object (self)
method doIt = Printf.printf "Doing it!"
end;;
class foo bar =
object (self)
val mutable myDataMember = (None : bar option)
method get = myDataMember
end;;
let f = new foo (new bar);;
f#get#bar#doIt;;
这里,编译器抱怨时,我希望将其指定为具有“栏中选择”类型的数据成员酒吧类型。
我似乎有使用选项关键字时的结果的麻烦。我已更新原始帖子。请帮忙。非常感谢。 – 2009-03-06 13:28:50