gpt4 book ai didi

ocaml - 如何在 OCaml 中使用断言?

转载 作者:行者123 更新时间:2023-12-02 00:42:59 25 4
gpt4 key购买 nike

我正在尝试学习 OCaml,但在断言语句方面遇到问题。在解释器中我可以使用它:

Zameers-MacBook-Air:~ zmanji$ ocaml
OCaml version 4.01.0

# let x = 1;;
val x : int = 1
# assert(x > 2);;
Exception: Assert_failure ("//toplevel//", 1, 0).
# ^D

但是,当我将代码放入如下所示的文件中时:

let x = 1
assert(x > 2)

我收到以下错误:

Zameers-MacBook-Air:Q4 zmanji$ ocaml test.ml
File "test.ml", line 2, characters 0-6:
Error: Syntax error

我做错了什么?

最佳答案

如果您将 ;; 放入文件中,它将起作用。没有它,它在语法上就没有意义。表达式 1 后跟关键字 assert 没有意义。

我不太喜欢在实际代码中使用 ;; (不是在顶层,即解释器)。如果你也想避免它,你可以写

let x = 1
let () = assert (x > 2)

关于ocaml - 如何在 OCaml 中使用断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21567318/

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