【发布时间】:2015-12-01 23:43:10
【问题描述】:
如何将 ocaml 布尔值转换为整数? (没有int_of_bool 函数。)
【问题讨论】:
如何将 ocaml 布尔值转换为整数? (没有int_of_bool 函数。)
【问题讨论】:
2020年,您可以使用Bool.to_int。
来自 Bool 库文档:
val to_int : bool -> int
如果 b 为假,b 为 0,如果 b 为真,b 为 1。
来源:https://caml.inria.fr/pub/docs/manual-ocaml/libref/Bool.html
【讨论】:
这是一种可能的实现方式:
let int_of_bool b = if b then 1 else 0
OCaml Batteries Included 库在其BatBool module 中有一个函数to_int。
【讨论】:
land 和 lor,这提供了一些理由。您可以将 bool 值想象为 1 位整数。我认为逆运算(int -> bool)的任何特定选择都更难激发。