永続化する方法はありますか (つまり、変数に保持することを意味します) (可能ですか?) 動的に成長しHList
ますか? 私の疑似コード:
var llist = 1 :: 2 :: "foo" :: true :: HNil
var list: HList = HNil // here is a wrong type! in fact we dont need HList type
object mapFunc extends Poly1 {
implicit def default[T] = at[T](t => { list = t :: list })
}
llist map mapFunc
明らかに、このコードは機能しません。それはうまくいきますが、タイプミスlist.head
の理由でさえできませんHList
(私が認識しているようにlist
、タイプパラメータをまったく保持していません)。
結果のタイプ:
shapeless.HList = true :: foo :: 2 :: 1 :: HNil
だから、それは間違っています。
編集
上記の情報だけでは不十分です。
HList
だから私は、任意の型にすることができる変数のようなものをいくつかのオブジェクトに入れたいと思っていました。
class className {
var hlist: HList = _ // it is not correct
}
HList
この変数を時々渡すため。
className.hlist = llist
ps @milessabin mbは、私の問題に対する別の解決策を見つける方が良いということです。