ocaml中的选项字符串
我有一个库,它返回一个ocaml中的选项字符串,ocaml,optional,Ocaml,Optional,我有一个库,它返回一个Some字符串,即一个可选字符串 这意味着什么-我收到了一个非空字符串?或者我收到了一个可以为空的字符串?一般来说,谁为一个类型确定Some的语义?语言是否为基类型指定了它 谢谢 请注意,Some x是一个值,而不是一种类型。库返回的类型将是字符串选项。如果您碰巧知道该值总是看起来像某个x,那么这是另一个问题。但这也不太可能,因为库作者可以使用类型string。您专门使用选项类型,以便可以使用None表示缺少值 我想说类型'a选项对于每个类型'a都具有相同的语义。type'
Some字符串
,即一个可选字符串
这意味着什么-我收到了一个非空字符串?或者我收到了一个可以为空的字符串?一般来说,谁为一个类型确定Some
的语义?语言是否为基类型指定了它
谢谢 请注意,
Some x
是一个值,而不是一种类型。库返回的类型将是字符串选项
。如果您碰巧知道该值总是看起来像某个x,那么这是另一个问题。但这也不太可能,因为库作者可以使用类型string
。您专门使用选项类型,以便可以使用None
表示缺少值
我想说类型'a选项
对于每个类型'a
都具有相同的语义。type'a选项
表示该类型的值,该值可以存在也可以不存在。如果该值存在,则其形式为Some x
,其中x
是该类型的值。如果该值不存在,则其形式为None
string option
类型的值可以是None
,也可以是Some”“
,或者对于任何字符串“xxx”
,它可以是Some“xxx”
。没有特定于字符串的特殊含义。一个例子可以是div\u string:int->int->string option
,它执行除法并以字符串形式返回结果。如果第二个参数是0
,则函数可以返回None
,该参数的类型为字符串选项
。此结果表明执行了无效的操作。该类型的定义:type'a option=None | a的某些
。