「Scala in Depth」中有一個例子,作者正在解釋scala如何對傳入方法的參數進行一定程度的推理。作爲一個例子顯示如下:「推斷函數中使用的類型是文字」?
def myMethod(functionLiteral: A => B):Unit
myMethod({ arg:A => new B})
myMethod({ arg => new B})
只是爲了找出作者在談論,我中REPL如下:
def myMethod(functionLiteral: Boolean => Boolean):Unit = {}
myMethod({a:Boolean => true})
myMethod({a => true})
這裏發生的唯一啓示的是,編譯器不會拋出錯誤。
作者是否試圖說函數參數a被編譯器推斷爲布爾值?
這是如何回答關於推論的問題? –
啊你是對的。我感到困惑的是,它是無法編譯的代碼,會更新答案。 –