举个例子,给出以下Scala案例类......
case class A(str: String, num: Number)
case class B(as: Seq[A])
case class C(b1: B, b2: B)
...和对象层次结构......
val c = C(B(Seq(A("SA",23),A("SB",42))),B(Seq()))
...我希望能够做到这样的事情:
val bindingString = "b1.as[1].num"
val value = get(c, bindingString)
assert value == 42
当然,基于宏或反射的几个库已经实现了所需的核心功能。
是否已有一个提供此功能的库? 或者可以提取现有开源库的一部分?