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)
了解该功能如何清晰易读。由于正确使用了模式匹配,因此读取此功能的程序员只需很少的时间即可确保其正确实现。
以上是 OCaml 布尔表达式的求值 的全部内容, 来源链接: utcz.com/z/315760.html