似乎TypeTags
只適用於在被調用方法的參數使用的類型參數的工作,而不是返回類型:爲什麼TypeTag不適用於返回類型?
scala> :paste
// Entering paste mode (ctrl-D to finish)
import scala.reflect.runtime.universe._
object Test {
def withParam[T: TypeTag](v: T): T = {
println(typeOf[T])
0.asInstanceOf[T]
}
def justReturn[T: TypeTag](): T = {
println(typeOf[T])
0.asInstanceOf[T]
}
}
// Exiting paste mode, now interpreting.
import scala.reflect.runtime.universe._
defined module Test
scala> val i: Int = Test.withParam(17)
Int
i: Int = 0
scala> val j: Int = Test.justReturn()
Nothing
j: Int = 0
這是清單的2.9的行爲是一致的,但沒有任何無法完成的原因,還有其他方法可以達到這個效果嗎?
還有什麼可能呢?也就是說,_should_'justReturn'返回? – 2013-02-16 18:42:55