Я хотел бы создать объект с членом данных, используя OCaml, но не обязательно указывать начальное значение для члена данных. Кажется, что во многих примерах используется список, но я хотел бы использовать один экземпляр типа объекта, который я создал. Это возможно? Спасибо.
class bar = object end;;
class foo =
object (self)
val myDataMember = ((* ??? *) : bar)
end;;
Кроме того, я пробовал ключевое слово option безрезультатно:
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;;
Здесь компилятор жалуется на то, что член данных имеет тип «bar option», когда я хотел указать, что он имеет тип bar.