Подтвердить что ты не робот

Как получить список с конфигурационной библиотекой Typesafe

Я пытаюсь в Scala получить список из конфигурационного файла, например something.conf с помощью TypeSafe http://typesafehub.github.io/config/latest/api/index.html

В something.conf я устанавливаю параметр:

mylist=["AA","BB"]

и в моем Scala коде:

val myList = modifyConfig.getStringList("mylist")

Простые параметры конфигурации прекрасно работают, но может ли кто-нибудь дать мне пример того, как извлечь список?

Ура!

4b9b3361

Ответ 1

Как отмечает @ghik, библиотека Configafe Config основана на Java, поэтому вместо scala.List[String] вы получаете java.util.List[String]. Поэтому либо вы делаете преобразование в scala.List:

import collection.JavaConversions._
val myList = modifyConfig.getStringList("mylist").toList

Или (возможно, менее неудобно) вы ищете библиотеку Scala. tools wiki связывает, по крайней мере, с этими поддерживаемыми библиотеками:

(Отказ от ответственности: я не использую их, поэтому вам нужно будет проверить, что они поддерживают ваши типы и формат)

Ответ 2

Для записи, поскольку Scala 2.12 JavaConversions устарели, поэтому вы можете:

import collection.JavaConverters._
val myList: List[String] = modifyConfig.getStringList("mylist").asScala.toList

Ответ 3

Вы можете попробовать мою упаковку scala https://github.com/andr83/scalaconfig - она ​​поддерживает чтение собственных типов scala непосредственно из объекта конфигурации. В вашем случае это будет выглядеть:

val myList = modifyConfig.as[List[String]]("mylist")