我有一个类型的功能in_channel -> out_channel -> unit,将输出一些东西out_channel.现在我想把它的输出作为一个字符串.创建临时文件进行写入和读取似乎很难看,所以我该怎么做?out_channel除了Pervasives.open_out家庭之外还有其他方法吗?
实际上,这个函数实现了一个repl.我真正需要的是以编程方式测试它,所以我想首先将它包装到类型的函数中string -> string.为了创建in_channel,似乎我可以使用Scanf.Scanning.from_string,但我不知道如何创建out_channel参数.
包括OCaml的电池具有output_string和output_buffer其功能的BatIO模块,它似乎做你想要什么:http://ocaml-batteries-team.github.com/batteries-included/hdoc/BatIO.html
它可能需要您使用其输入/输出类型.