opa - 保护 String.to_int 和其他

标签 opa

我使用 String.to_int,有时会出错,例如当字符串不是 int 的表示形式时。我想捕获这些错误,或者在使用函数之前测试参数。一些想法?

谢谢

最佳答案

嗯,有人可能会争辩说,如果 stdlib 中的 String.to_int 返回一个可选的整数(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 解析器。

(*) 我想手册的这一部分可以使用一些扩展...

关于opa - 保护 String.to_int 和其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732208/

相关文章:

opa - 编译 opa 文件时出错

opa - 我在哪里可以找到所有 Opa 指令的文档?

opa - 不同的 OPA 应用程序可以共享数据库吗?

pattern-matching - Opa 匹配模式或

xml - 如何用 Opa 解析 XML?

opa - 循环 db intmap(person)

OPA 给出错误 "rego_parse_error: var cannot be used for rule name"

security - Opa 安全和错误修复

opa - 将 OPA 连接到现有关系数据库

javascript - Opa流控、线程?