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 生日广州男生祝福语简短