我有以下接受字符串列表和字符串的函数。它返回一个字符串列表。
fun get_substitutions1 ((x::xs)::ys, s) =
all_except_option((x::xs),s) @ get_substitutions1(ys,s) ;
我面临的问题是all_except_option返回OPTION,因此当我尝试连接它时出现错误。我的问题是如何从OPTION中提取LIST。
答案 0 :(得分:8)
你基本上有两种选择。如果你知道它(肯定)总是返回SOME lst
,那么你可以使用valOf
函数,该函数需要'a option
并返回'a
值
- val a = SOME [1,2,3,3];
val a = SOME [1,2,3,3] : int list option
- val b = valOf a;
val b = [1,2,3,3] : int list
您的另一个选择是使用模式匹配解压缩
case x of
SOME lst => lst
| NONE => ...