在OCaml中加载包含多个sexp的文件
加载包含多个Sexp的文件并转换为自定义类型列表
不需要手动实现,Core标准库已经提供了对应的解决方案:
使用
Core.Sexp.load_sexps_conv_exn filename ty_of_sexp函数:- 它会读取目标文件中的所有Sexp,逐个通过你提供的
ty_of_sexp转换器转换,最终返回自定义类型的列表 - 只要有任意一个Sexp转换失败,该函数就会抛出异常,和单个Sexp的
load_sexp_conv_exn行为保持一致
- 它会读取目标文件中的所有Sexp,逐个通过你提供的
如果你需要处理错误而不是直接抛出异常,可以用非异常版本
Core.Sexp.load_sexps_conv,它会返回('a list, exn) Result.t类型的结果,方便你做错误分支处理
内容的提问来源于stack exchange,提问作者Cs_J
相关产品推荐
相关产品推荐

