gpt4 book ai didi

OCaml:用消息断言

转载 作者:行者123 更新时间:2023-12-01 12:43:04 25 4
gpt4 key购买 nike

又是另一个问题 :P 我不太确定是应该将它张贴在这里还是在 OCaml 邮件列表上,但我先尝试 SO。

我喜欢断言语句。但是,我发现错误消息在没有附加消息的情况下几乎毫无用处(第 XXX 行的断言违规 --- 很好,但实际上出了什么问题?)。我认为断言的好例子是 pythonic assert x > 0, "X must be greater than zero for the algorithm X to work" 而坏的例子是 C-like assert( x>0).

得知在 OCaml 中无法将错误消息附加到断言,我感到非常失望 =(我的选择是:

  • 写一个自定义函数,比如说 vassert => 但我不会得到只有 assert 关键字才有可能的神奇行号
  • 使用 failwith,但它相当冗长,我认为它会遇到与自定义函数相同的问题。
  • 使用 OUnit 中的函数,但我不想引入不必要的依赖。

有没有人遇到同样的问题?人们使用什么?

最佳答案

有点乏味但工作正常:

 assert (if not cond then print_endline "your message"; cond)

关于OCaml:用消息断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22561566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com