亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Scala在哪里尋找植入?

Scala在哪里尋找植入?

MM們 2019-06-09 15:49:06
Scala在哪里尋找植入?阿隱式對于Scala的新手來說,問題似乎是:編譯器在哪里尋找隱式?我的意思是含蓄的,因為這個問題似乎從來沒有完全形成,好像沒有語言。-)例如,integral從下面來?scala> import scala.math._import scala.math._ scala> def foo[T](t: T)(implicit integral: Integral[T]) {println(integral)}foo: [T](t: T)(implicit integral:  scala.math.Integral[T])Unitscala> foo(0)scala.math.Numeric$IntIsIntegral$@3dbea611 scala> foo(0L)scala.math.Numeric$LongIsIntegral$@48c610af對于那些決定學習第一個問題的答案的人來說,另一個問題是編譯器如何選擇在某些明顯含糊不清的情況下使用哪一個隱式(但無論如何都是編譯)?例如,scala.Predef定義兩個轉換String*一至WrappedString另一個StringOps..然而,這兩個類共享許多方法,那么為什么Scala在調用時不抱怨模糊性map?注:這個問題是由另一個問題,希望能更全面地說明這個問題。該示例是從那里復制的,因為答案中引用了該示例。
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

我想知道隱式參數解析的優先級,而不僅僅是它查找的位置,所以我寫了一篇博文。不征收進口稅(和隱式參數優先級在得到一些反饋后)。

下面是清單:

  • 1)通過本地聲明、導入、外部作用域、繼承、不帶前綴可訪問的包對象,引出當前調用范圍可見的內容。
  • 2) 隱范圍

    ,它包含所有類型的伴隨對象和包對象,這些對象與我們搜索的隱式類型(即類型的包對象、類型本身的伴生對象、類型構造函數(如果有的話)、參數(如果有的話)以及它的超類型和超特征之間有某種關系)。

如果在任何階段我們發現不止一個隱含的靜態重載規則被用來解決它。


查看完整回答
反對 回復 2019-06-09
  • 2 回答
  • 0 關注
  • 581 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號