3
我在學習沒有形狀並參考here的教程。它說,Scala無形 - 迭代/讀取Generic.Repr的每個項目或將其轉換爲HList
一般是轉換案例類和產品類型(如 元組)到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
,我將獲得Julien :: 30 :: HNil
。但是,我無法讀取h
中的每個元素,如h.head
,h.tail
將不起作用,並且h
中沒有任何可用的方法。在這裏,h
是gen.Repr
的類型,我無法想出將其轉換爲HList
的方法。那麼,我如何從h
讀取每個元素?
您提供的代碼可能無法傳達您遇到的問題。因爲在這個代碼中'h.head'和'h.tail'工作得很好。 –
我試圖在intellij ide而不是repl,它顯示「無法解析符號頭」,如果我做h.head。但是,它很好。可能是它與IDE的問題。感謝您指出。 :) –
哦,是的,那麼它可能只是IDE有implicits和宏的問題。 –