我正在将基于OCaml的多个模块转换为F#,遇到了来自OCaml格式化模块的打印格式化函数open_box和close_box。阅读有关打印框概念的文章后,这很有道理,但似乎需要在幕后进行大量工作才能实现。
是否有等效的F#模块?
如果没有,而不必转换OCaml格式模块的部分内容,有哪些快速简单的替换函数?
编辑 Jack 的版本作为OCaml格式的一部分出现在 FSharpx.Compatibility.OCaml.Format.Format.fs 中。我还没有测试过,但它是我目前发现的最完整的版本。
是否有等效的F#模块?
如果没有,而不必转换OCaml格式模块的部分内容,有哪些快速简单的替换函数?
编辑 Jack 的版本作为OCaml格式的一部分出现在 FSharpx.Compatibility.OCaml.Format.Format.fs 中。我还没有测试过,但它是我目前发现的最完整的版本。
Format
模块需要进行数百次更改。在 OCaml 中,索引数组使用xs.(i)
,而在 F# 中则使用xs.[i]
并带有类型注释。原始代码使用的是 OCaml 的流,而在 F# 中没有相应的等价物。通道相当于文本读取器和写入器,但需要进行一些调整。即使printf
的工作方式也不同! - J DSeq
。不过,我可能想到了错误的代码库。最近我为客户将一些其他的 OCaml 代码翻译成 F#。 - J D