反转格式空格和中断提示
Invert Format spaces and break hints
是否可以反转 Format 模块中中断提示的行为,例如使用标准 spaces 作为中断提示,并为不可中断的 spaces?
添加一些特殊符号
当前的行为导致人们可能倾向于编写 "Hello@ world,@ this@ is@ a@ short@ phrase"
的情况,其中每个 space 都被转换为中断提示以模仿所见的行为,例如在文本编辑器、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 字符串变得非常困难。
似乎遵循既定惯例 "every space is a break hint, unless marked as non-breaking space" 会是一个更好的选择。
是否有简单的技术来包装此类字符串并反转它们的行为,最好不会产生过多的运行时成本 and/or 导致输入问题(例如,由于 string
和 [=12= 之间的转换])?
自 4.02 以来,有一个 Format.pp_print_text
函数可以获取常规文本并打印它,用剪切替换空格,用 new_lines 替换 \n
。
使用此功能,您仍然可以使用 printf
和其他便利功能进行打印:
printf "text '%a'" pp_print_text "hello, this a short phrase"
总的来说,您的问题更多是关于库设计的。因此,很难回答任何关于它的问题。它更适合在 OCaml 邮件列表上进行讨论。
是否可以反转 Format 模块中中断提示的行为,例如使用标准 spaces 作为中断提示,并为不可中断的 spaces?
添加一些特殊符号当前的行为导致人们可能倾向于编写 "Hello@ world,@ this@ is@ a@ short@ phrase"
的情况,其中每个 space 都被转换为中断提示以模仿所见的行为,例如在文本编辑器、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 字符串变得非常困难。
似乎遵循既定惯例 "every space is a break hint, unless marked as non-breaking space" 会是一个更好的选择。
是否有简单的技术来包装此类字符串并反转它们的行为,最好不会产生过多的运行时成本 and/or 导致输入问题(例如,由于 string
和 [=12= 之间的转换])?
自 4.02 以来,有一个 Format.pp_print_text
函数可以获取常规文本并打印它,用剪切替换空格,用 new_lines 替换 \n
。
使用此功能,您仍然可以使用 printf
和其他便利功能进行打印:
printf "text '%a'" pp_print_text "hello, this a short phrase"
总的来说,您的问题更多是关于库设计的。因此,很难回答任何关于它的问题。它更适合在 OCaml 邮件列表上进行讨论。