3

请帮助我不知道字符串选项的作用。

是否可以将字符串选项转换为字符串?

4

3 回答 3

8

正如已经指出的,您可以使用模式匹配来获得所需的结果。所以,像这样:

fun foo(NONE) = ""
  | foo(SOME a) = a;

但是您可以省去麻烦并使用SML 库Option.valOf中的函数,只需执行以下操作:

Option.valOf(SOME "my string");(或者就像valOf(SOME "my string");newacct 在评论中指出的那样。)

于 2011-06-08T14:39:04.017 回答
3

ML 中的“选项”类型就像 .NET 世界中的 Nullable 一样。它是一个有两个值的可区分联合,NoneSome of 'a(对于泛型'a option类型)。要转换为字符串,您需要获取 的值'a,这可以通过正常的模式匹配结构来完成。

当然,如果您拥有的值为None,则将没有要检索的字符串。因此,您需要处理None出现的情况,就像在其他语言中处理 null 一样。

于 2011-06-07T17:42:47.697 回答
0

例如:

val x = 一些“字符串”;

(*您可以通过这样做简单地得到它:*)

val stringfromoptionstring = 某些 s 的案例 x => s | NONE => "没有找到字符串";

于 2011-07-14T16:23:08.480 回答