我正在学习Reasonml,而且我在标准库中找不到任何函数来做到这一点,没有一个是Bucklescript模块。有比使用原始javascript更好的选项吗?
现在我正在用这个函数来实现它:
let parseint: string => int = [%raw {| x => parseInt(x, 10) |}];发布于 2017-12-31 19:42:29
int_of_string (也包括float_of_string / bool_of_string)应该做您需要的事情。
它在标准库中,您应该能够搜索它https://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html (如果您安装了理性-工具浏览器扩展,那么该站点将更适合您,这样它就可以从OCaml自动转换为您的推理语法)
注意,如果字符串对该类型无效,所有这些函数都会抛出异常(请阅读链接以了解每个函数的工作原理以及每个函数对字符串的期望)。
正如@glennsl所指出的,当Bucklescript赶上比4.02.3更新版本的4.02.3编译器时,您可能希望使用更安全的_opt变体,例如返回Some(number)或None的int_of_string_opt,这取决于您对输入的信任程度、您希望避免异常的程度以及您希望如何处理糟糕的输入(它是例外的,应该关闭程序/堆栈,还是正常的,应该在本地处理?)
https://stackoverflow.com/questions/48045172
复制相似问题