2011-07-18 49 views
3

我使用String.to_int,有時我得到錯誤,例如當字符串不是一個int的表示。我想捕捉這些錯誤,或者在使用函數之前測試參數。一些想法?安全String.to_int和其他

感謝

回答

4

嗯,人們可以說,它本來如果更好String.to_int從STDLIB返回一個可選的整數(none指示錯誤)。

但是,在Opa中,大多數解析是使用parsers *完成的。例如,爲了獲得上述功能,你可以寫:

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解析器。

(*)我猜這部分手冊可以使用一些擴展名...

相關問題