【发布时间】:2018-10-26 12:59:03
【问题描述】:
我想获取嵌套案例类的值,在这个嵌套案例类中给出“路径”。
例如,给予:
case class Address(street : String, city : String, postcode : String)
// Nested case class
case class Person(name : String, age : Int, address : Address)
val person = Person("Joe Grey", 37, Address("Southover Street", "Brighton", "BN2 9UA"))
val path = "address_street" // _ is arbitrary separator
我希望 getter(path) 返回“Southover Street”。
我尝试用无形的镜片做不同的事情,比如
val steetLens = lens[Person] >> Witness(Symbol("address")) >> Witness(Symbol("street"))
println(steetLens.get(person))
返回正确的东西,但我不能以通用方式使用它,因为像这样:
val steetLens = lens[Person] >> addressField >> streetField
没用..
据我了解,我们无法从通用字符串创建 Symbol。
【问题讨论】:
-
路径不应该是:“person_address_street”吗?
-
两者都适合我 :)