2
在Scala中,我可以創造一個接收多於一個參數列表的方法:調用Scala的構造有多個參數列表
def myMethod(value: Int)(fn: (Int) => Unit) {
fn(value)
}
,並調用它像這樣:
myMethod(10) { value => println(value) }
我該怎麼辦與類構造函數相同的東西?我如何稱呼它?
在Scala中,我可以創造一個接收多於一個參數列表的方法:調用Scala的構造有多個參數列表
def myMethod(value: Int)(fn: (Int) => Unit) {
fn(value)
}
,並調用它像這樣:
myMethod(10) { value => println(value) }
我該怎麼辦與類構造函數相同的東西?我如何稱呼它?
This Works。
Welcome to Scala version 2.8.1.final (Java HotSpot(TM) Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> class MyClass(val value: Int)(val fn: Int => Unit)
defined class MyClass
scala> new MyClass(10)({value => println(value)})
res0: MyClass = [email protected]
啊!額外的括號。我在沒有它們的情況下嘗試了它,編譯器將其解析爲將類作爲匿名子類進行擴展。 – Ralph 2011-04-25 14:09:49
也可能沒有內括號「{}」:new MyClass(10)(value => println(value)) – 2011-04-26 06:37:39