通常沒有必要理會在Scala中隱含參數,但有時它是非常有幫助瞭解如何編譯器會自動爲他們提供。不幸的是,這種理解似乎很難獲得!有沒有一種系統的方法來發現哪些隱含的defs在範圍內,哪一個被綁定在某個特定的點上?
有沒有一種通用的方法來發現在給定的代碼片段中隱式參數是如何提供的?
理想情況下,有一天IDE集成將以某種方式提供這些信息,但我期望現在我不得不深入挖掘。有什麼方法可以讓編譯器準確解釋它在任何給定點上選擇的隱式定義?這可以從其他編譯器輸出間接解密嗎?
舉個例子,我想知道如何計算出我自己在implicit bf: CanBuildFrom[Repr, B, That]
參數TraversableLike.map
從何而來,不讀像this one堆棧溢出的問題!
不應該打字員階段提供AST甚至推斷出的類型信息時,scalac確實隱含的分辨率是多少? http://stackoverflow.com/q/27468053/306488。 – lisak 2014-12-14 11:15:48