私は束縛を受けずにhereからチュートリアルを参照しています。私は、Scala Shapeless - Generic.Reprの各項目を繰り返したり、読み込んだり、HListに変換したりする
import shapeless.Generic
case class UserWithAge(name: String, age: Int)
val gen = Generic[UserWithAge]
val u = UserWithAge("Julien", 30)
val h = gen.to(u)
今私はh
を印刷する場合:どちらが
ジェネリックはケースクラスとHListに、製品の種類(のような タプル)、およびその逆に変換する簡単な方法である、と言います
Julien :: 30 :: HNil
が得られます。しかし、h
からh.head
などの各要素を読み取ることができません。h.tail
は機能しません。h
で利用できるメソッドはありません。ここでh
はgen.Repr
のタイプで、HList
に変換する方法を見つけられませんでした。では、どのように各要素をh
から読み取ることができますか?
あなたが提供したコードは、おそらくあなたが抱えている問題を伝えるものではありません。このコードでは、 'h.head'と' h.tail'はうまく動作します。 –
私はh.headをすると、 "シンボルヘッドを解決できません"というreplの代わりにintellij ideで試していました。しかし、それはうまくいった。そのIDEの問題かもしれない。それを指摘してくれてありがとう。 :) –
ああ、それはおそらくちょうどIDEのimplicitsとマクロに問題があります。 –