OCaml:不太明白'一个选项

时间:2013-10-11 17:09:34

标签: ocaml option

class window = 
  object
    val mutable top_widget = (None : widget option)
    method top_widget = top_widget
  end
and widget (w : window) = 
  object
    val window = w
    method window = window
  end;;

有两件事我不明白:

  1. (无:小部件选项)这是什么意思?另外,一般来说我们如何使用“选项”?

  2. (w:window)这意味着w是类窗口小部件的参数,它是窗口类型吗?

  3. 谢谢!!!

1 个答案:

答案 0 :(得分:3)

类型'a option的值有两种形式:

None
Some x

其中x'a类型的值。

例如,此处有两个int option类型的值:

None
Some 421

这可能是显而易见的,但想法是类型代表可能存在或可能不存在的值。值None表示缺少值。

是的,符号(w: window)表示班级widget的参数是一个窗口。创建窗口小部件时,它看起来像这样:

let mywidget = new widget mywindow in
. . .