F#的关键字" 有些 " -这是什么意思?
Some
不是关键字.option
然而,有一种类型,它是一个包含两件事的歧视联盟:
Some
它包含某种类型的值.
None
这代表缺乏价值.
它被定义为:
type 'a option = | None | Some of 'a
它有点像可空类型,你想拥有一个可以保存某种类型的值或根本没有值的对象.
let stringRepresentationOfSomeObject (x : 'a option) = match x with | None -> "NONE!" | Some(t) -> t.ToString()
可以查看F#中的Discriminated Unions,了解有关DU的更多信息,特别是选项类型(Some,None).正如之前的回答所说,Some只是一个选项<'a>类型的联合案例,它是代数数据类型的一个特别常见/有用的例子.