1
的Printf module API详细介绍了类型转换的标志,其中:为什么%b在Printf中弃用?
%B: convert a boolean argument to the string true or false
%b: convert a boolean argument (deprecated; do not use in new programs).
但它并没有说为什么%b
已被弃用。为什么%B
好于%b
?通过在ocaml的可解析格式以大写字母像%C
和%S
(不%c
和%s
)打印的东西转换:
因为在大多数支持printf样式格式的语言中,'%b',如果它意味着什么,意味着打印二进制文件(一串0和1)? –
@ChrisDodd根据我发现的文档,它不代表(标准)C或C++中的任何内容,代表bash中的转义字符串和java中的布尔值。显然,Python使用'b',但是在一个自定义的格式化指令(例如'{x:b}')中,这不太可能与'%b'混淆。我发现在Perl中提到'%b'二进制文件,但这里'%B'是一个准同义词(最后是'0bxxxxx ...'或'0Bxxxxx ...'),因此我不'没有看到一个令人信服的理由,一个在另一个之上。至少现在:当然,在OCaml中'%b'被弃用时,事情可能会有所不同。 – Virgile