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 上嫂子生日祝福语简短