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 同学朋友吃饭祝福语简短