ocaml 中的选项字符串
Option String in ocaml
我有一个 returns 一个 Some String
的库,即对我来说是一个可选字符串。
这是什么意思 - 我收到了一个非空字符串?或者我收到了一个可以为空的字符串?通常,谁来确定类型的 Some
的语义?语言是否为基本类型指定它?
谢谢!
请注意 Some x
是一个 值 ,而不是一个类型。库返回的类型为 string option
。如果您碰巧知道该值总是看起来像 Some x
,那就是另一个问题了。但这也不太可能,因为库作者可以为此使用 string
类型。您专门使用一个选项类型,因此您可以使用 None
来表示缺少值。
我会说类型 'a option
对每个类型 'a
都有相同的语义。类型 'a option
表示可以存在或不存在的类型的值。如果值存在,它采用 Some x
的形式,其中 x
是类型的值。如果该值不存在,则采用 None
.
的形式
string option
类型的值可以是 None
,也可以是 Some ""
,对于任何字符串 "xxx"
也可以是 Some "xxx"
。没有特殊的字符串特定含义。
我有一个 returns 一个 Some String
的库,即对我来说是一个可选字符串。
这是什么意思 - 我收到了一个非空字符串?或者我收到了一个可以为空的字符串?通常,谁来确定类型的 Some
的语义?语言是否为基本类型指定它?
谢谢!
请注意 Some x
是一个 值 ,而不是一个类型。库返回的类型为 string option
。如果您碰巧知道该值总是看起来像 Some x
,那就是另一个问题了。但这也不太可能,因为库作者可以为此使用 string
类型。您专门使用一个选项类型,因此您可以使用 None
来表示缺少值。
我会说类型 'a option
对每个类型 'a
都有相同的语义。类型 'a option
表示可以存在或不存在的类型的值。如果值存在,它采用 Some x
的形式,其中 x
是类型的值。如果该值不存在,则采用 None
.
string option
类型的值可以是 None
,也可以是 Some ""
,对于任何字符串 "xxx"
也可以是 Some "xxx"
。没有特殊的字符串特定含义。