f#具有管道运算符:
arg |> func // or arg2 |> func arg1, as opposed to func arg1 arg2
func <| arg
Haskell具有$
操作员:
func $ arg -- or func1 $ func2 arg, as opposed to func1 (func2 arg)
它们主要用于通过拆开函数调用来提高可读性。
Scala中是否有类似的操作员?
没有。但是,您可以轻松地定义自己的。
implicit class PipeEverything[A](val underlying: A) extends AnyVal {
def |>[B](f: A => B) = f(underlying)
}
scala在标准库中没有此操作员。
Scalaz带来鹅口疮操作员:
arg |> method
如果您更喜欢猫而不是Scalaz,则需要鼠标伴侣库来获取相同的操作员。