shapeless

    0

    1答えて

    私は、ユーザーが与えられたときにDSLを作成しています。そこでは、必要なアクションで文字列を渡します。 これらのアクションは、いくつかの正規表現を使用して制御されます。 シェイプレスまたはマクロを使用して、私はユーザーがDSLを使用しているかどうかを制御したいと思います。文字列がストリングに合わない場合は、コードがコンパイルされません。 Siのインスタンスの Given("a good actio

    2

    1答えて

    私のアプリケーションでは、タプルのリストを取得する必要がある場所がたくさんあります。タプルの最初の要素でgroupByし、それを残りの部分から削除します。例えば、私はタプルは (1, "Joe", "Account"), (1, "Tom", "Employer"), (2, "John", "Account"), and result should be Map(1 -> List(("Joe"

    2

    1答えて

    特定のタイプのフィールドを選択できるタイプクラスを作成しようとしています。これは私がこれまでにやっていることですが、コンパイラがSelector.Aux case class AddressKey(street: String, city: String) trait AddressKeySelector[A] { def addressKey(v: A): AddressKey

    1

    1答えて

    hlistを暗黙的に作成しようとしています。 case class A(value: Int) implicit def lift(single: A): A :: HNil = single :: HNil def something[L <: HList](l: L)(implicit lUBConstraint: LUBConstraint[L, A], is

    2

    1答えて

    暗黙のクラスを作成して、レコードスタイルのシングルトンオペレータ->>と同じタイプのFieldTypeを返すカスタム関数を提供する方法はありますか?次の2つの値が同じタイプがあるように import shapeless.syntax.singleton._ implicit class FieldMaker[S <: Symbol](val s: S) { def make[T](t

    3

    1答えて

    私は2つのHListを一緒に圧縮する方法を探しています。最初のものは、その汎用表現で変換されたケース・クラスから生成され、2番目はNatのHListとして手動で定義されます。 その結果、ケースクラスの1つのフィールドとNatが関連付けられたタプル(または2つのメンバHList)が必要です。 目的は、カスタマイズ可能な「ZipWithIndex」を作成することです。 def derive[A, I

    0

    1答えて

    要素の種類に制限を持つタイプセーフな異種リストを定義しようとしています(たとえば、タイプAの後にタイプAが出現できないなど)。私の構造を無形のHListに変換しようとすると、問題が発生します。私は次のエラーを取得する sealed trait Hierarchy { type HListType <: HList def toHList : HListType de

    0

    1答えて

    私はこのコードは import shapeless._ import record._ import ops.record._ import ops.hlist.Align import syntax.singleton._ case class From(i: Int, s: String, a: Int, b: Int, c: Int) case class To(j: Int,

    4

    2答えて

    どのクラスでも "counter"というIntフィールドを増やすことができるタイプクラスを作成しようとしています。フィールド。 私はShapelessでこれをやろうとしましたが、Shapeless 2.0.0の "Feature overview"とStack Overflowの多数のスレッドを消化しようとしました。私が欲しいもの は case class MyModel(name:String,

    5

    2答えて

    私はケースクラスに約20のフィールドを含みます。これらのフィールドはすべてプリミティブ型です。 case class A(f1: String, f2: Int .....) これらのフィールドはすべてコマンドラインから解析する必要があります(残念ながら)。 私がすることができますが、私は本当に私が反射によって、フィールド名および提出タイプを取得することができ、この20倍 opt[String