On this site 它说分号在语义上与
let _ = ... in
相同,但在以下代码中并非如此。此代码打印 None
和 End
:
let m = None
let () =
let () = match m with
| None -> print_endline "None"
| Some file -> print_endline "Some"
in
print_endline "End";
但是这段代码只打印
None
.
let m = None
let () =
match m with
| None -> print_endline "None"
| Some file -> print_endline "Some"
;
print_endline "End";
为什么?分号和
let in
有什么区别?