Function Scala是否有类似于Haskell';是`$`?

Function Scala是否有类似于Haskell';是`$`?,function,scala,operators,Function,Scala,Operators,Scala是否有类似的运算符 是的,上面写着“申请” 这方面没有标准的标点符号操作符,但通过库PIMP添加标点符号操作符非常简单 class RichFunction[-A,+B](fn: Function1[A, B]){ def $(a:A):B = fn(a)} implicit def function2RichFunction[-A,+B](t: Function1[A, B]) = new RichFunction[A, B](t) 一般来说,尽管Scala代码比Java密

Scala是否有类似的运算符

是的,上面写着“申请”

这方面没有标准的标点符号操作符,但通过库PIMP添加标点符号操作符非常简单

  class RichFunction[-A,+B](fn: Function1[A, B]){ def $(a:A):B = fn(a)}
  implicit def function2RichFunction[-A,+B](t: Function1[A, B]) = new RichFunction[A, B](t)

一般来说,尽管Scala代码比Java密集得多,但它并没有Haskell那么密集。因此,创建诸如“$”和“.”之类的运算符的回报较少。

为了使问题独立,如果您能解释Haskell构造是/做什么就好了。$显然是正确的关联性,优先级较低。
$
的一个更大的优势是它在运算符部分中的使用:
(f$)
($x)
,这在Scala中是不存在的(您可以编写
f(
)和
(x)
,但在Haskell中不能这样做)。
fn apply arg
  class RichFunction[-A,+B](fn: Function1[A, B]){ def $(a:A):B = fn(a)}
  implicit def function2RichFunction[-A,+B](t: Function1[A, B]) = new RichFunction[A, B](t)