J'essaie dans Scala pour obtenir une liste à partir d'un fichier de configuration comme something.conf
avec TypeSafe
.
Dans something.conf
J'ai défini le paramètre:
mylist=["AA","BB"]
et dans mon Scala code que je fais:
val myList = modifyConfig.getStringList("mylist")
Les paramètres de configuration simples fonctionnent bien, mais quelqu'un pourrait-il me donner un exemple de la façon d'extraire une liste?
Comme le note @ghik, la bibliothèque Typesafe Config est basée sur Java , donc vous obtenez un Java.util.List[String]
au lieu d'un scala.List[String]
. Donc, soit vous effectuez une conversion en scala.List
:
import collection.JavaConversions._
val myList = modifyConfig.getStringList("mylist").toList
Ou (probablement moins gênant) vous recherchez une bibliothèque Scala. Le wiki des outils relie au moins à ces bibliothèques maintenues:
(Avertissement: je ne les utilise pas, vous devrez donc vérifier qu'ils prennent en charge vos types et votre format)
Pour mémoire, puisque Scala 2.12 JavaConversions
sont obsolètes, vous pouvez donc:
import collection.JavaConverters._
val myList: List[String] = modifyConfig.getStringList("mylist").asScala.toList
Vous pouvez essayer mon scala wrapper https://github.com/andr83/scalaconfig - il prend en charge la lecture native scala types directement à partir de l'objet de configuration. Dans votre cas, il ressemblera à:
val myList = modifyConfig.as[List[String]]("mylist")