web-dev-qa-db-ja.com

Typesafe構成ライブラリーでリストを取得する方法

Scalaでsomething.confのような設定ファイルからTypeSafeを使用してリストを取得しようとしています。

something.confでパラメーターを設定します。

mylist=["AA","BB"]

そして、私のScalaコードで:

val myList = modifyConfig.getStringList("mylist")

単純な構成パラメーターは正常に機能しますが、リストを抽出する方法の例を教えてもらえますか?

30
Martin

@ghikが指摘しているように、Typesafe ConfigライブラリはJavaベースであるため、Java.util.List[String]ではなくscala.List[String]を取得します。そのため、scala.Listに変換するか、

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

または、(おそらくそれほど厄介ではない)Scalaライブラリを探します。 tools wiki は、少なくともこれらの保守されたライブラリにリンクします。

(免責事項:私はこれらを使用しませんので、それらがあなたのタイプとフォーマットをサポートしていることを確認する必要があります)

33
0__

レコードの場合、Scala 2.12 JavaConversionsは推奨されないため、次のことができます。

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

私のscala wrapper https://github.com/andr83/scalaconfig を試すことができます-ネイティブscalaタイプの読み取りをサポートしていますconfigオブジェクトから。あなたの場合、それは次のようになります:

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