在我们的project中,我们使用fsi.AddPrinter
打印类型formula<fol>.
为了方便起见,我们在fsx文件中包含fsi.AddPrinter sprint_fol_formula
,将AST结果转换为人类可读的结果。
val inline sprint_fol_formula : formula<fol> -> string
在创建测试用例的过程中,我们还输出AST结果和人类可读结果。
AST结果是处理公式的结果。要在单元测试中将AST转换为人类可读的格式,我们只需使用sprint_fol_formula astResult
。
现在,如果结果为formula<fol> list
而不是formula<fol>
,则在使用FSI时会输出正确的结果,但sprint_fol_formula
不接受formula<fol> list
。
我可以得出结论的唯一合理答案是fsi.AddPrinter
具有内置功能,可以将列表分开,然后单独打印每种类型。
这是真的,还是我错过了什么?
如果这是真的,你可以在记录的地方添加一个参考。
答案 0 :(得分:2)
发生的事情非常简单。有一个'a list
的打印机,它打印列表中的每个元素(或者只显示第一个元素,具体取决于它们的文本长度和列表的长度),并且很好地格式化([ _; _; _; ... ]
。项目,它使用您的打印机。