是否可以使用類型實例作爲正常的Scala類型?例如,在下面的代碼片段中,可以通過使用tpe找到pi?從類型實例中查找隱式
import scala.reflect.runtime.universe._
implicit val pi: Double = 3.14159265
val tpe = typeOf[Double]
implicitly[Double] // pi
implicitly[tpe]???
恐怕沒有一個簡單的解決方案,以實現我的目標,那我將需要一種工廠到TPE轉化爲隱含[雙]。無論如何,我認爲在Scala代碼中集成反射類型可能非常強大,因此,並不像看起來那麼瘋狂。
在宏上下文中,您可以訪問使用'ctx.inferImplicit *'方法將所有的宏隱含在宏的範圍內。我在幾個宏中使用了它們,它們工作得很好,但我沒有想到使用該功能來解決這個問題。明天我會試一試,因爲它有很多意義。謝謝! – jeslg