是否可以反转格式模块中中断提示的行为,例如使用标准空格作为中断提示,并为不可中断空格添加一些特殊符号?
当前的行为导致人们可能倾向于写 "Hello@ world,@ this@ is@ a@ short@ phrase"
的情况,其中每个空格都转换为中断提示以模仿所见的行为,例如在文本编辑器、HTML 渲染器等中。
例如,这个 Using the Format module文档明确建议使用中断提示:
Generally speaking, a printing routine using "format", should not directly output white spaces: the routine should use break hints instead.
这种行为不仅使写入消息变得复杂,而且还使得在源代码中 grep 字符串变得非常困难。
似乎遵循既定惯例“每个空格都是中断提示,除非标记为不间断空格”将是更好的选择。
是否有简单的技术来包装此类字符串并反转其行为,最好不会产生过多的运行时成本和/或导致打字问题(例如,由于 string
和 format
之间的转换)?
最佳答案
自 4.02 起,有一个 Format.pp_print_text
函数,它将采用常规文本并打印它,用剪切替换空格,用 new_lines 替换 \n
。
使用此函数,您仍然可以使用 printf
和其他便利函数进行打印:
printf "text '%a'" pp_print_text "hello, this a short phrase"
一般来说,您的问题更多是关于库设计。因此,很难回答任何关于它的事情。它更适合在 OCaml 邮件列表上进行讨论。
关于format - 反转格式空格和中断提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792103/