Cas*_*ton 2 ocaml loops function pattern-matching
这似乎是一件奇怪的事情,你肯定会建议一个更好的方法来做到这一点.
这是我的目标:
我想滚动浏览传递给函数的列表的每个元素.如果它是构造函数Y,那么我想调用它上面的一些函数.如果它是构造函数Z,我想跳过它.
如果有一种方法可以在if语句中检查这个,那么这似乎是要走的路,因为我不需要编写其他的.但是,我只知道如何在比赛中检查这一点.
例如:
let myFunct list =
List.iter (fun x -> match x with
| Y y -> otherFunction y
) list;;
Run Code Online (Sandbox Code Playgroud)
现在,这给了我一个关于无法处理Z的警告.所以我可以在那里扔东西像......
let myFunct list =
List.iter (fun x -> match x with
| Y y -> otherFunction y
| Z z -> (*skip*)
) list;;
Run Code Online (Sandbox Code Playgroud)
当然,我不能把Z的比赛留空......
我怎样才能完成我想要做的事情?
只返回单位(即())的Z情况.
你确定要吗List.iter?它主要用于为其副作用应用函数.
功能程序中更惯用的方法是使用过滤列表List.filter,然后使用转换应用于所有剩余元素List.map.
| 归档时间: |
|
| 查看次数: |
3293 次 |
| 最近记录: |