请帮助我不知道字符串选项的作用。
是否可以将字符串选项转换为字符串?
答案 0 :(得分:8)
正如已经指出的那样,您可以使用模式匹配来获得所需的结果。 所以,像这样:
fun foo(NONE) = ""
| foo(SOME a) = a;
但是您可以省去麻烦并使用Option.valOf
中的SML library功能,而不仅仅是:
Option.valOf(SOME "my string");
(或者只是valOf(SOME "my string");
作为新意见在评论中指出。)
答案 1 :(得分:3)
ML中的“选项”类型就像是.NET世界中的Nullable。它是一个具有两个值None
和Some of 'a
(对于通用'a option
类型)的区别性联合。要转换为字符串,您需要获取'a
的值,您可以通过正常的模式匹配结构来完成。
当然,如果您拥有的值是None
,则不会检索任何字符串。因此,您需要处理出现None
的情况,就像您可能在其他语言中处理null一样。
答案 2 :(得分:0)
例如:
val x = SOME“String”;
(*你可以通过这样做来获得它:*)
val stringfromoptionstring = SOME的案例x =>小号 | NONE => “找不到字符串”;