【发布时间】:2018-04-17 06:47:51
【问题描述】:
在 Reason(和 OCaml)中,有一种使用 |> 运算符传递参数的非传统方式。什么时候应该使用它的约定是什么?我现在到处都在使用它,只是因为我觉得它很新颖。
【问题讨论】:
-
如果它类似于 Clojure 的线程宏
->(将一个表达式的结果作为下一个表达式的第一个参数传递,并沿所有表达式继续),当你有需要进行转换数据的长链/调用管道。我到处都使用这样的宏,因为它们摆脱了嵌套调用并提高了可读性。 -
@Carcigenicate 换句话说,我应该一直使用它们,除非它肯定会损害可读性?
-
从 Clojure 的角度来看,是的。每当我必须通过 >= 2 转换“线程化”一个参数时,我都会使用线程宏,除非我有理由相信它可能会损害可读性,或者由于参数顺序不匹配而不可行。它们使您以后可以更轻松地将零件添加到“管道”中,并且正如答案所指出的那样,可以带来更好的阅读顺序。在 Clojure 中,它是一个宏,因此甚至没有运行时成本。我不确定它在 OCaml 中是如何工作的。
标签: ocaml conventions reason