Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 从对象中的val定义列表_Scala - Fatal编程技术网

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个字段名。