У меня есть функция типа in_channel -> out_channel -> unit
, которая выводит что-то в out_channel
. Теперь я хотел бы получить его вывод как строку. Создание временных файлов для записи и чтения обратно кажется уродливым, так как я могу это сделать? Существуют ли другие методы создания out_channel
помимо семейства Pervasives.open_out
?
Собственно, эта функция реализовала repl. Мне действительно нужно протестировать его программно, поэтому я хотел бы сначала перенести его на функцию типа string -> string
. Для создания in_channel
кажется, что я могу использовать Scanf.Scanning.from_string
, но я не знаю, как создать параметр out_channel
.