Comment lire les variables D'environnement dans Scala
En Java, la lecture des variables d'environnement se fait avec System.getenv()
.
Est-il un moyen de le faire dans Scala?
5 réponses
Depuis Scala 2.9, vous pouvez utiliser sys.env
pour le même effet:
scala> sys.env("HOME")
res0: String = /home/paradigmatic
Je pense qu'il est agréable d'utiliser L'API Scala au lieu de Java. Il existe actuellement plusieurs projets pour compiler Scala sur d'autres plates-formes que JVM (. net, javascript, native, etc.) Réduire les dépendances sur L'API Java rendra votre code plus portable.
Il y a un objet:
scala.util.Properties
Cela a une collection de méthodes qui peuvent être utilisées pour obtenir des informations sur l'environnement, y compris
scala.util.Properties.envOrElse("HOME", "/myhome" )
De la même manière:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
Si la bibliothèque de configuration de Lightbend est utilisée (par défaut dans Play2 et Akka), vous pouvez utiliser
foo = "default value"
foo = ${?VAR_NAME}
Syntaxe pour remplacer foo si une variable D'environnement VAR_NAME existe. Plus de détails dans https://github.com/typesafehub/config#optional-system-or-env-variable-overrides
Pour imprimer Toutes les variables d'environnement, vous pouvez utiliser
System.getenv.forEach((name, value) => println(s"$name: $value"))