OCaml 布尔表达式的求值
示例
我们定义布尔表达式的类型,其原子由字符串标识为
type expr = | Atom of string | Not of expr | And of expr * expr | Or of expr * expr
并可以通过oracle:string->bool给出原子的值来评估这些表达式,如下所示:
let rec eval oracle = function | Atom(name) -> oracle name | Not(expr) -> not(eval oracle expr) | And(expr1, expr2) -> (eval oracle expr1) && (eval oracle expr2) | Or(expr1, expr2) -> (eval oracle expr1) || (eval oracle expr2)
了解该功能如何清晰易读。由于正确使用了模式匹配,因此读取此功能的程序员只需很少的时间即可确保其正确实现。
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话