【发布时间】:2019-09-04 16:10:31
【问题描述】:
我有以下代码(这是一个测试,所以没有什么有趣的)
let test k =
let rec aux = function
|0 -> 0
|z when z = 2 -> raise Exit
|_ -> aux (k-1)
in try let _ = aux k in true
with Exit -> false
最后是语法的使用:let _,对我来说,这只是一种语法,当您不知道可以用来定义函数的名称时。
如果我执行以下操作:
let test k =
let rec aux = function
|0 -> 0
|z when z = 2 -> raise Exit
|_ -> aux (k-1)
in try let b = aux k in true
with Exit -> false
我收到类似警告:“变量 b 未使用”,我不明白为什么 let _ 和 let b 之间存在差异?
例如,我知道在处理单元类型时,通常使用以下语法:let ()。然而我在做的时候没有任何警告:
let b = print_int 2
即使我不使用:
let () = print_int 2
那么 let _ 有什么特别之处呢?
谢谢!
【问题讨论】:
-
因为这就是语言的设计方式?不知道你在寻找什么样的答案。
标签: ocaml