def func(f: => Int) = f
這不到風度(內部類爲例)
type EmptyFunct = => Int
或
type EmptyFunct = (=> Int)
斯卡拉版本2.9 兩個問題:
- 爲什麼dosn't語法糖在第二種情況下工作?
- 如何定義不通過語法糖這個功能呢?
def func(f: => Int) = f
這不到風度(內部類爲例)
type EmptyFunct = => Int
或
type EmptyFunct = (=> Int)
斯卡拉版本2.9 兩個問題:
=> int是不完全不帶參數的函數,它是一個int參數與由名字傳遞約定呼叫。 (當然,這是相當好的一點,因爲它通過傳遞一個沒有參數的函數來實現)。
的功能,但沒有參數寫入() => Int
。你可以做type EmptyFunct =() => Int
。
這是不是一個類型。在函數內部,f將被輸入爲Int。類型()=> Int的參數不會。
def func(f: => Int) = f *2
func (: => Int) Int
但
def func(f:() => Int) : Int = f*2
error: value * is not a member of() => Int
你能給EmptyFunct'的'使用顯示爲什麼'()=> Unit'的例子不適合你的需要? – Nicolas