scala-macros

    0熱度

    1回答

    這放氣和地圖位映射數據庫列階對象是延續到下面的帖子: How to combine multiple columns in one case class field when using lifted embedding? 我是位字段的忠實球迷,希望在我使用slick-macros的項目中使用這個邏輯。不幸的是,slick-additions沒有完全更新到slick 2.0,有一個不穩定的分支,實

    1熱度

    1回答

    我有一個案例類註釋字段,如: case class Foo(@alias("foo") bar: Int) 我有處理這個類的聲明宏: val (className, access, fields, bases, body) = classDecl match { case q"case class $n $m(..$ps) extends ..$bs { ..$ss }" => (n

    6熱度

    1回答

    我在回答this question。 而是寫的: case class Person(name: String, age: Int) { def this() = this("",1) } 我想我會用宏註釋從展開: @Annotation case class Person(name: String, age: Int) 所以我嘗試添加新的構造函數作爲一個純老DefDef使用

    1熱度

    1回答

    我試圖總結劇中JSON寫入宏擴展 def encoder[T] = Json.writes[T] 但T是未知的,這樣就不會編譯,它抱怨 no unapply method found 我知道我可以用JsMacroImpl.reads擴展代替Json.writes[T]。 有沒有更好的方法來做到這一點?

    11熱度

    2回答

    對scala宏執行測試的建議方式是什麼? 我意識到需要兩個項目,因爲需要單獨編譯。如果有必要,這一步是可以接受的,而且大部分是清楚的 但是,你應該如何聲明宏擴展失敗呢?如果沒有特殊的設施,測試用例將無法編譯,因此整個測試項目將無法編譯。 我覺得這個斷言需要形式 errors(code: => _): List[CompileError] 返回內宏的編譯錯誤的另一個宏。測試也需要相同的警告,如果

    0熱度

    1回答

    我創建了a small project on github來探索ScalaFx和其他一些我想用於更大項目的東西。目前,它包含一個單獨的子項目,這是一個使用ScalaFX和ScalaFXML編寫的簡單計算器。 該項目使用SBT命令calculator/run建立和運行良好。 我正在嘗試使用sbt-native-packager進行打包。我添加了一個名爲「exemple-cli」(來自sbt-nati

    3熱度

    1回答

    我使用ORM模型的案例類。每個模型都有一個ID,但該ID不應公開訪問。所以我有一個父特徵 trait WithId { private var id: Long = 0 } 和大量的case類(模型)的繼承了它現在 case class C1(a: Int, b: String) extends WithId case class C2(...) extends WithId

    2熱度

    1回答

    定義Scala宏時,是否有符號或類型轉換爲樹? 具體來說,該場景需要查找伴隨對象上的文字。 在Scala代碼,這看起來是這樣的: class Fred(a: String) object Fred { val FredDescription = "hello" } 在宏我有機會獲得弗雷德的WeakTypeTag,可以用它來獲取訪問的伴侶,它的類型簽名: context.univ

    16熱度

    2回答

    昨晚我試圖找出這個沒有形狀的問題熬夜,我恐怕如果我沒有得到它,它會吃我的晚上我的胸部,所以在這裏。 在這個最小化版本,我只是定義類型類,將遞歸轉換case類爲heterogeneous名單: import shapeless._ trait DeepHLister[R <: HList] extends DepFn1[R] { type Out <: HList } trait LowPr

    0熱度

    1回答

    我遇到了一些問題,我寫了一個宏幫助我將作爲案例類實例表示的度量記錄到InfluxDB。我認爲我有一個類型擦除問題,並且tyep參數T正在丟失,但我不完全確定發生了什麼。 (這也是我第一次接觸到斯卡拉宏) import scala.language.experimental.macros import play.api.libs.json.{JsNumber, JsString, JsObject