Scala 从对象中的val定义列表
我写道:Scala 从对象中的val定义列表,scala,Scala,我写道: def fields(): List[String] = List(Fields.ZONE, Fields.API, Fields.LOCATION, Fields.FACTORY) object Fields { val ZONE: String = "Zone" val API: String = "API" val LOCATION: String = "location" val FACTORY: String = "factory
def fields(): List[String] = List(Fields.ZONE, Fields.API, Fields.LOCATION, Fields.FACTORY)
object Fields {
val ZONE: String = "Zone"
val API: String = "API"
val LOCATION: String = "location"
val FACTORY: String = "factory"
}
我想找到一种智能方法来定义def字段中的列表,而无需手动键入字段对象中包装的所有常量。
有什么建议吗
致以最诚挚的问候这是一种方法
case class FieldNames(
ZONE: String = "Zone",
API: String = "API",
LOCATION: String = "location",
FACTORY: String = "factory",
)
object Fields extends FieldNames
def fields(): List[String] = Fields.productIterator.map(_.toString).toList
这使用了一个事实,即案例类
实现了产品
,它允许您枚举类中的字段
请注意,通常省略()
并将字段设置为val
:
val fields: List[String] = Fields.productIterator.map(_.toString).toList
这个对象是如何编码的?这是你的项目吗?O是否超出您的控制范围我的印象是,对象本身包含很多样板文件,也许最好编写一个代码生成器来生成对象和列表。我认为您创建列表的方法适合这种情况。我认为这样您最多只能有22个字段名。