如何使用Reasonml/Bucklescript将字符串解析为整数?

gab*_*les 6 reason bucklescript

我正在学习Reasonml,我在标准库中找不到任何函数,而Bucklescript Js模块也没有.有没有比使用原始javascript更好的选择?

现在我用这个功能实现它:

__CODE__

sgr*_*ove 8

int_of_string(还有float_of_string/ bool_of_string)应该做你需要的.

它在标准库中,您应该能够搜索它https://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html(如果您有理由,该网站将更适合您-tools安装浏览器扩展程序,以便它自动从OCaml转换为Reason语法)

请注意,如果字符串对该类型无效,则所有这些函数都将抛出异常(请阅读链接以了解每个函数的工作原理以及每个字符串对字符串的期望).

正如@glennsl指出的那样,当Bucklescript赶上OCaml编译器的更新版本时4.02.3,你可能想要使用更安全的_opt变体,例如int_of_string_opt返回a Some(number)或者None取而代之,取决于你对输入的信任程度,你想要多少避免异常,以及你想如何处理错误的输入(它是特殊的,应该杀死程序/堆栈,还是正常,应该在本地处理?).

  • 请注意,@ _opt`变体不适用于BuckleScipt,因为它仍然使用4.02.3编译器. (2认同)