shapeless

    0

    1答えて

    私はHListとして表現したい文字列表現を以下に示します。ここでは、次のとおりです。 123456,/02/2017,0,0,0,0,0,0,170.153 だから私は、に興味があるタイプがある: Int :: DateTime :: Seq[Double] Iは、1対1のマッピングが行われ、管理することができたが、どのように私は上記の私の表現を変換することができ私がしたいと思うシェイプレ

    0

    1答えて

    HListに複数の項目を追加するにはどうすればよいですか? 私の素朴なバージョンがコンパイルされません。普通のList秒間 (1 to 100).foldLeft(HNil)((l,i) => i :: l) をこのアプローチはうまく動作します。しかしHListについては、私は、単一の項目とHListをとり、追加されたリストを返すPoly2を提供する必要があると仮定します。 もちろん、複数のア

    0

    1答えて

    CaseClassオブジェクトの構築にLabelledGenericsを使用する前に、正しい順序でHListを取得できない点を除いて、これを実装しています。 何今作品が機能しない何 case class Foo(a:int, b:String) val serializedRecord("a" -> somebytes, "b" -> someotherbytes) val caseClass

    3

    1答えて

    私は内部DSLを書いています。型の安全を守るためにShapelessを使っています。しかし、私は問題を抱えている。 問題の簡略版は次のとおりです。 は、以下のコードを検討: import shapeless._ import syntax.std.function._ import ops.function._ implicit class Ops[P <: Product, L <: H

    0

    1答えて

    私はUnionをHListという2つから作成しました。EとFとしましょう。このUnionから、タイプEの新しいHListをお返しします。元のリストと同じ値を持っていますが、私は気にしない、私は実際には正しいタイプ とHListをしたいそれは必ずしも、私が欲しいのは1つの関数にまとめることができません。 def selectFromUnion[E <: HList, F <: HList](u: U

    3

    1答えて

    LimitedString[Limit]のようなタイプを作成したいと思います。ここで、Limitは文字列の最大長の型表現です。 それは私が把握することはできませんが、実際にLimitのために(キーボードのように)(コンパイルのように)タイプを入力する方法である class LimitedString[Limit] [private](val s: String) object LimitedSt

    3

    1答えて

    を上一致する私は私が働いていた場合は、このコードは罰金だったでしょう型崩れライブラリ import shapeless.LabelledGeneric case class Icecream(name: String, numberOfCherries: Int, inCone: Boolean) object ShapelessRecordEx2 extends App { va

    0

    1答えて

    シェイプレスコプローダでパターンマッチングを行う方法は2つあります。また、私はこのテーマをGoogleで検索してthis import shapeless._ object ShapelessEx3 extends App { case class Red() case class Green() case class Blue() type Color

    1

    1答えて

    型崩れを使用してのADTの列挙に関する@TravisBrownによって上空啓発questionに続いて、私は次のコードスニペットが残っています:私は持っていないように私はメソッド内でこれをカプセル化したい implicitly[EnumerableAdt[Foo]].values 各呼び出しの後に.valuesに(これは私にとってはよりクリーンなAPIのようです)。 しかし、私はそれを正しくす

    2

    1答えて

    私はDL <: HList持っているとmkStringdetailsIn: DLに使用しようとしています: def mkString(start: String, sep: String, end: String) (implicit toTraversable: ToTraversable.Aux[L, List, Any]): String = this.toList.mkStrin