f# - 制作 bprintfn (StringBuilder.AppendLine vs Append)
问题描述
我需要打印一堆命令行帮助。有一个 bprintf,但奇怪的是没有用于使用 StringBuilders 的 bprintfn。我很快意识到你不能自动添加任何东西(比如“\n”),因为 (format:PrintF.StringFormat<'a, unit>) 参数必须放在最后。
终于让这个与 kprintf 一起工作了。这似乎很有用。我是否忽略了这样做的内置方式?
module helper =
let bprintfn (sb : StringBuilder) =
Printf.kprintf (fun s -> sb.AppendLine s |> ignore)
module Command =
let printMan arg =
let sb = StringBuilder()
let a format = helper.bprintfn sb format
a "Title"
a ""
a "body1 %s" arg
a ""
a "body2"
a ""
a "footer"
sb.ToString()
解决方案
推荐阅读
- active-directory - Active Directory:将用户添加/删除到 SG 时触发 API 调用
- performance - 超级账本 TPS
- angular - 当从父级发送相同的值时如何检测@input属性的变化
- utf-8 - UTF-8 如何表示字符?
- html - 仅使用 CSS 的彩虹文本动画
- reactjs - 转到另一个页面时,React Navigation V3 处理过渡和动画
- ajax - 使用ajax关闭模式后无法重新打开模式
- python - pandas resample dropna 不适用于所有列
- cesium - 如何获得用铯渲染的gltf纹理的状态
- javascript - 添加后缀跟随用户输入材料ui TextField