我正在学习 Reasonml,我在标准库中找不到任何功能,无论是 Bucklescript Js 模块。有没有比使用原始 javascript更好的选择?
现在我正在用这个功能实现它:
let parseint: string => int = [%raw {| x => parseInt(x, 10) |}];
我正在学习 Reasonml,我在标准库中找不到任何功能,无论是 Bucklescript Js 模块。有没有比使用原始 javascript更好的选择?
现在我正在用这个功能实现它:
let parseint: string => int = [%raw {| x => parseInt(x, 10) |}];
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
返回 aSome(number)
或None
代替,这取决于您对输入的信任程度,您想要多少避免异常,以及您希望如何处理错误输入(是否异常并且应该终止程序/堆栈,还是正常并且应该在本地处理?)。