3

我使用 String.to_int,有时我会出错,例如当字符串不是 int 的表示时。我想在使用该函数之前捕获这些错误,或测试参数。一些想法?

谢谢

4

1 回答 1

4

嗯,有人可能会争辩说,如果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那里使用解析器。

(*) 我猜这部分手册可以使用一些扩展...

于 2011-07-18T13:16:23.603 回答