4
私は次のコードを使用して型崩れしてそのフィールド名を抽出することができますケースクラスA
を考える:一般的にShapelessでフィールド名を抽出する方法は?
val fieldNames: List[String] = {
import shapeless._
import shapeless.ops.record.Keys
val gen = LabelledGeneric[A]
val keys = Keys[gen.Repr].apply
keys.toList.map(_.name)
}
これは、すべての素敵な作品が、私は便利に使用できるように、どのように私は、より一般的な方法でこれを実装することができます
val fields: List[String] = fieldNames[AnyCaseClass]
このような任意のクラスのテクニックは既に私のためにこれを行うライブラリはありますか?
おかげで、これは魔法のように動作します!私がまだ疑問に思っている唯一の事は、上記のような単純なユースケースをカバーする、何らかの形のユーティリティライブラリがある場合です。 –