gpt4 book ai didi

ocaml - 在 OCaml 中的 let 命令(即 let _ = ... in)中使用下划线通配符有什么副作用吗?

转载 作者:行者123 更新时间:2023-12-04 16:59:52 28 4
gpt4 key购买 nike

使用 OCaml 时,我几乎总是在 let _ = exp 中使用下划线通配符,尤其是当 exp 的结果时不重要,重要的是里面的计算。例如:

让 _ = print_endline "abc"在
...
让 _ = a := !a + 1 in
...
让 _ = do_some_thing ... in

所以,我只是想知道广泛使用 let _ = ... 是否有任何副作用? ?

最佳答案

副作用是将来在您的软件中跟踪烦人的错误。 let _ = 的问题是它会默默地忽略您打算全部使用的部分应用程序。假设你写了以下内容:

let f a b = ...
let _ = f 3 4

并且将来您向 f 添加一个参数:
let f a b c = ...

表达式 let _ = f 3 4仍然会静默编译并且您的程序不会调用该函数,让您想知道发生了什么。最好总是让给 ()并使用 ignore当您需要忽略非单位结果时:
let () = ignore (f 3 4)
let () = print_endline "abc"

使用 let _ = ...应该被认为是坏风格。

关于ocaml - 在 OCaml 中的 let 命令(即 let _ = ... in)中使用下划线通配符有什么副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29048359/

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