for - scala installation
Cómo leer variables de entorno en Scala (5)
Desde Scala 2.9 puedes usar sys.env
para el mismo efecto:
scala> sys.env("HOME")
res0: String = /home/paradigmatic
Creo que es bueno usar la API de Scala en lugar de Java. Actualmente hay varios proyectos para compilar Scala en otras plataformas aparte de JVM (.NET, JavaScript, nativo, etc.). La reducción de las dependencias en la API de Java hará que su código sea más portátil.
En Java, leer las variables del entorno se hace con System.getenv()
.
¿Hay alguna manera de hacer esto en Scala?
Hay un objeto:
scala.util.Properties
esto tiene una colección de métodos que se pueden usar para obtener información del entorno, incluidos
scala.util.Properties.envOrElse("HOME", "/myhome" )
Mismo camino:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
Para imprimir todas las variables de entorno, puede usar
System.getenv.forEach((name, value) => println(s"$name: $value"))
Si se utiliza la biblioteca de configuración de Lightbend (por defecto en Play2 y Akka), entonces puede usar
foo = "default value" foo = ${?VAR_NAME}
sintaxis para anular foo si existe una variable de entorno VAR_NAME. Más detalles en https://github.com/typesafehub/config#optional-system-or-env-variable-overrides