请帮助我不知道字符串选项的作用。
是否可以将字符串选项转换为字符串?
正如已经指出的,您可以使用模式匹配来获得所需的结果。所以,像这样:
fun foo(NONE) = ""
| foo(SOME a) = a;
但是您可以省去麻烦并使用SML 库Option.valOf
中的函数,只需执行以下操作:
Option.valOf(SOME "my string");
(或者就像valOf(SOME "my string");
newacct 在评论中指出的那样。)
ML 中的“选项”类型就像 .NET 世界中的 Nullable 一样。它是一个有两个值的可区分联合,None
和Some of 'a
(对于泛型'a option
类型)。要转换为字符串,您需要获取 的值'a
,这可以通过正常的模式匹配结构来完成。
当然,如果您拥有的值为None
,则将没有要检索的字符串。因此,您需要处理None
出现的情况,就像在其他语言中处理 null 一样。
例如:
val x = 一些“字符串”;
(*您可以通过这样做简单地得到它:*)
val stringfromoptionstring = 某些 s 的案例 x => s | NONE => "没有找到字符串";