gpt4 book ai didi

syntax - Ocaml语法与 bool 值匹配

转载 作者:行者123 更新时间:2023-12-02 10:53:24 28 4
gpt4 key购买 nike

我是Ocaml的初学者,我似乎无法理解这种语法。
我必须编写一个不返回 bool(boolean) 值求反的函数。

我这样写:

let not x = 
match x with
true -> false
| false -> true;


if (not false) then Printf.printf "True !"

但是它拒绝编译,有人可以给我一个提示吗?

错误消息是:
Error: This expression has type unit but an expression was expected of type bool
在最后一行。

最佳答案

根据https://baturin.org/docs/ocaml-faq/#the-double-semicolon的说法,在交互式REPL中,您需要使用;;结束语句:

let not x = 
match x with
true -> false
| false -> true;;
(* ^^ *)

if (not false) then Printf.printf "True !";;

在源代码中,您应该仅使用声明,并且可以省略任何分号(感谢@glennsl):
let not x = 
match x with
true -> false
| false -> true

let () = if (not false) then Printf.printf "True !" (*
^^^^^^^^ *)

关于syntax - Ocaml语法与 bool 值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364513/

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