我使用 String.to_int,有时我会出错,例如当字符串不是 int 的表示时。我想在使用该函数之前捕获这些错误,或测试参数。一些想法?
谢谢
嗯,有人可能会争辩说,如果String.to_int
从 stdlib 返回一个可选整数(none
表示错误)会更好。
然而,在 Opa 中,大多数解析是使用解析器*. 例如,要获得上述功能,您可以编写:
string_to_int_opt(s : string) : option(int) =
Parser.try_parse(Rule.integer, s)
或者,如果您想不那么冗长,则等效:
string_to_int_opt = Parser.try_parse(Rule.integer, _)
或者,如果它是更复杂解析的一部分,您只需在Rule.integer
那里使用解析器。
(*) 我猜这部分手册可以使用一些扩展...