scala-reflect

    2熱度

    1回答

    我正在嘗試編寫一種方法,它接受多個泛型類型並將參數作爲要執行的工作單元。 這個想法是,工作單元是一個通用的函數,它本身是通用的。例如起見,讓我們說這是類似以下內容: def loadModelRdd[T: TypeTag](sc: SparkContext): RDD[T] = { ... } loadModelRdd()後像加載模型信息的一些內部處理將建設給定類型的RDD等 原型

    0熱度

    1回答

    獲得的Java類。根據這個提問/回答Any way to obtain a Java class from a Scala (2.10) type tag or symbol? 我應該用runtimeClass獲得從類型Class。 但是,如果我在宏中進行反射,我無權訪問runtimeClass。 我該怎麼辦?

    0熱度

    1回答

    考慮下面的Scala程序: val arr: Seq[String] = Seq("abc", "def") val cls = arr.head.getClass println(cls) val ttg: TypeTag[Seq[String]] = typeOf[Seq[String]] val fns = ttg.tpe .members val fn = fns

    0熱度

    2回答

    我想寫這樣的方法: def foo[T:TypeTag](value: Int):String = { (/* do something */).mapTo[T].map(_.toJson) } 其中mapTo有簽名: def mapTo[S](implicit tag: ClassTag[S]): Future[S] = { ... } 使用org.scala-lang.sc

    1熱度

    2回答

    使用下面的代碼獲得: val clz = 10L.getClass val ClassTag(clz) 只能得到盒裝類型: java.lang.Long 有沒有更好的解決辦法?或者在Scala中不可能?

    2熱度

    1回答

    我在使用反射比較兩種類型之間的'兼容性'(實際上我在寫一個宏)時遇到問題。例如,我想要允許Vector[Int] === List[Int]。現在我知道了general approach。但問題是我不能在這種情況下獲取類型構造函數參數: import scala.reflect._ import runtime.universe._ typeOf[List[Int]].typeArgs

    2熱度

    2回答

    我想在一組「條件動作」規則中使用Scala模式匹配的強大功能。這些規則並不是事先知道的,而是根據一些複雜的標準在運行時生成的。 algorithmic generation mechanism可以被認爲是完全獨立的,而不是這個問題的一部分,它涉及如何通過Scala反射/ quasiquotes來表達這個問題。 具體而言,我期望在運行時生成案例定義(通用形式case [email protected

    0熱度

    1回答

    我已經被授權將舊的ant構建腳本重寫爲SBT。碰巧,我們的套件由3個模塊組成: A Play 2.3前端Web服務器; 用於從各種其他系統檢索數據的後端; 一箇中間模塊,包含一些用於數據庫訪問和業務邏輯的共享類。 下面我Build.scala文件的摘錄,可以發現: val sharedSettings = Seq( organization := <organization here>,

    0熱度

    1回答

    我有一個工具試圖構建各種scala集合的子類的實例,例如scala.collection.Seq。我不知道應該建立什麼特定的類,所以我嘗試使用反射來獲取伴隨對象中的apply方法,如下所示(類似於聲明List[Int](1, 2, 3))。 import scala.reflect.runtime.{universe => ru} import scala.reflect.runtime.uni

    0熱度

    1回答

    我知道這是可能的: import scala.reflect._ trait Foo[A] def isDouble[A: ClassTag](foo: Foo[A]) = classTag[A].runtimeClass == classOf[Double] object Foo1 extends Foo[Double] object Foo2 extends Foo[String