除了看上去丑陋和难以解释给非OCaml程序员之外,有没有其他的选择?
let* _ = do_something in
当然还有>>= fun() ->,它看起来不太好。
>>= fun() ->
也许吧
let (;*) = >>= fun () ->
发布于 2020-06-04 00:32:24
首先,最好是写,
let* () = do_something in ...
以使返回类型显式为unit。
unit
不提供返回新的unit语法中的绑定算子的一元操作,但是存在各种ppx扩展,例如提供do标记的一元。
最后,您可以使用由一元库提供的排序操作符,例如,在Monad中有序列,因此您可以编写
sequence [ do_one_thing; do_another_thing; and_so_on; ]
https://stackoverflow.com/questions/62182623
相似问题