Opa 将String.to_int和其他

Opa 将String.to_int和其他,opa,Opa,我使用String.to_int,有时会出现错误,例如,当字符串不是int的表示形式时。我希望捕获这些错误,或者在使用函数之前测试参数。一些想法 多亏了嗯,有人可能会说,如果stdlib中的String.to_int返回一个可选的整数(none表示错误)会更好 然而,在Opa中,大多数解析是使用*。例如,要获得上述函数,您可以编写: string_to_int_opt(s : string) : option(int) = Parser.try_parse(Rule.integer, s)

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


多亏了嗯,有人可能会说,如果stdlib中的
String.to_int
返回一个可选的整数(
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, _)
或者,如果它是更复杂的解析的一部分,您可以在那里使用
规则.integer
解析器

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