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 に答える