1
我写Scala中的一个DSL,我想实现方法的调用链如下:留出在方法调用中括号
def x(i:Int) = i
x 1 equals 1 //doesn't compile
我不知道为什么编译器是幸福的,如果我离开出第二个圆括号但不是第一个:
x(1) equals 1 //works fine
有没有办法实现第一个版本?
我写Scala中的一个DSL,我想实现方法的调用链如下:留出在方法调用中括号
def x(i:Int) = i
x 1 equals 1 //doesn't compile
我不知道为什么编译器是幸福的,如果我离开出第二个圆括号但不是第一个:
x(1) equals 1 //works fine
有没有办法实现第一个版本?
您可以调用没有圆括号的方法,但不能调用函数。
所以下面的工作:
scala> object Foo {
| def x(i:Int) = i
| }
defined object Foo
scala> Foo x 1
res9: Int = 1
scala> Foo x 1 equals 1
res10: Boolean = true