Как читать переменные среды в Scala



в Java чтение переменных среды выполняется с помощью System.getenv().



есть ли способ сделать это в Scala?

539   5  

5 ответов:

Так как Scala 2.9 вы можете использовать sys.env действие:

scala> sys.env("HOME")
res0: String = /home/paradigmatic

Я думаю, что хорошо использовать API Scala вместо Java. В настоящее время существует несколько проектов для компиляции Scala на другие платформы, кроме JVM (.NET, javascript, native и т. д.) Уменьшение зависимостей от Java API, сделает ваш код более портативным.

объект:

scala.util.Properties

это имеет набор методов, которые могут быть использованы для получения информации об окружающей среде, в том числе

scala.util.Properties.envOrElse("HOME", "/myhome" )

таким образом:

scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg

если используется библиотека конфигурации Lightbend (по умолчанию в Play2 и Akka), то вы можете использовать

foo = "default value" foo = ${?VAR_NAME}

синтаксис для переопределения foo, если существует переменная окружения VAR_NAME. Подробнее в https://github.com/typesafehub/config#optional-system-or-env-variable-overrides

печати все переменные среды, вы можете использовать

System.getenv.forEach((name, value) => println(s"$name: $value"))

Comments

    Ничего не найдено.