3

I use String.to_int, and some time i get errors, for example when the string is not a representation of an int. I would like to catch these errors, or test parameter before to use the function. Some ideas ?

Thanks

trecouvr
  • 743
  • 5
  • 7

1 Answers1

4

Hmm, one could argue that it would have been better if String.to_int from the stdlib returned an optional integer (none indicating an error).

However, in Opa most parsing is done using parsers*. For instance to get the aforementioned function you could write:

string_to_int_opt(s : string) : option(int) =
  Parser.try_parse(Rule.integer, s)

or, if you want to be less verbose the equivalent:

string_to_int_opt = Parser.try_parse(Rule.integer, _)

or if it's part of the more complex parsing you would just use the Rule.integer parser there.

(*) I guess this section of the manual could use some extensions...

akoprowski
  • 3,297
  • 1
  • 18
  • 26