Kom*_*eem 1 list sml pattern-matching
我有以下函数接受字符串列表和字符串.它返回一个字符串列表.
fun get_substitutions1 ((x::xs)::ys, s) =
all_except_option((x::xs),s) @ get_substitutions1(ys,s) ;
Run Code Online (Sandbox Code Playgroud)
我面临的问题是all_except_option返回OPTION,因此当我尝试连接它时出现错误.我的问题是如何从OPTION中提取LIST.
你基本上有两个选择.如果你知道它(肯定)总是返回SOME lst,那么你可以使用带a的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
Run Code Online (Sandbox Code Playgroud)
您的另一个选择是使用模式匹配解压缩它
case x of
SOME lst => lst
| NONE => ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |