Functional programming let定义系列
我是OCaml的初学者,我对let系列有一个问题,比如:Functional programming let定义系列,functional-programming,ocaml,let,Functional Programming,Ocaml,Let,我是OCaml的初学者,我对let系列有一个问题,比如: let x = myFun y in let z = myFun x in ... 但是,在let之间,我使用Hashtbl.iter和其他返回单元的函数。如果我这样做: let x = myFun y in Hashtbl.iter (...) ... let z = myFun x in ... 编译器引发了一个错误。但是,如果我这样做: let x = myFun y in let h = Hashtbl.iter (...)
let x = myFun y in
let z = myFun x in
...
但是,在let之间,我使用Hashtbl.iter和其他返回单元的函数。如果我这样做:
let x = myFun y in
Hashtbl.iter (...) ...
let z = myFun x in
...
编译器引发了一个错误。但是,如果我这样做:
let x = myFun y in
let h = Hashtbl.iter (...) ...
let z = myFun x in
...
编译器不会引发任何错误,只是显示从未使用过“h”的警告。没有任何问题的最好方法是什么?谢谢。您必须使用
代码>要分隔表达式,请执行以下操作:
e1 ; e2
这将在e1
中执行副作用并丢弃结果,然后计算'e2'
因此,在你的情况下:
let x = myFun y in
Hashtbl.iter (...) ... ;
let z = myFun x in
...
请注意,您可以编写
let x = ... in
let _ = Hashtbl.iter in ...