Arrayを返す関数を定義したいと思います。タイプタグがあります。必要なClassTagを生成することはできますか?Scala 2.10では、どのようにTypeTagを指定してClassTagを作成しますか
scala> import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._
scala> def fun[X: TypeTag]: Array[X] = Array.ofDim[X](10)
<console>:11: error: No ClassTag available for X
def fun[X: TypeTag]: Array[X] = Array.ofDim[X](10)
それともClassTagの暗黙的な証拠を提供する必要がある:
scala> import reflect.ClassTag
import reflect.ClassTag
scala> def fun[X: ClassTag: TypeTag]: Array[X] = Array.ofDim[X](10)(implicitly[ClassTag[X]])
fun: [X](implicit evidence$1: scala.reflect.ClassTag[X], implicit evidence$2: reflect.runtime.universe.TypeTag[X])Array[X]
を私はTypeTagからClassTagを生成することが簡単で考えているだろうが、私には明白な方法を参照してくださいません。
[ClassTagフォームTypeTagを取得する方法、またはその両方を同時に行う方法は?](http://stackoverflow.com/questions/18729321/how-to-get-classtag-form-typetag-or-both-同じ時刻に) – Suma