我想使用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