Em Java, a leitura de variáveis de ambiente é feita com System.getenv()
.
Existe uma maneira de fazer isso no Scala?
scala
environment-variables
lâmpada de verão
fonte
fonte
sys.env.get("VARIABLE")
que causaráOption[String]
um erro, em vez de gerar, se essa variável estiver ausente.sys.env
é apenas umMap
. Você pode qualquer método que seja apropriado para você.sys.env.getOrElse("VARIABLE", "default value")
também foi útil no meu caso em que a variável de ambiente pode não estar definida.Existe um objeto:
isso possui uma coleção de métodos que podem ser usados para obter informações sobre o ambiente, incluindo
fonte
Da mesma maneira:
fonte
Usando diretamente um padrão com
getOrElse
over thesys.env
Map (val myenv: Map[String, String] = sys.env
):Você obtém o conteúdo do
envVariable
ou, se não existir, odefaultValue
.fonte
Se a biblioteca de configuração do Lightbend for usada (por padrão no Play2 e Akka), você poderá usar
foo = "default value" foo = ${?VAR_NAME}
sintaxe para substituir foo se existir uma variável de ambiente VAR_NAME. Mais detalhes em https://github.com/typesafehub/config#optional-system-or-env-variable-overrides
fonte
Para imprimir todas as variáveis de ambiente, você pode usar
fonte
error: missing parameter type
nos argumentos se você apenas copiar e colar isso.(name: String, value: String)
, estou recebendoerror: type mismatch; found : (String, String) => Unit required: java.util.function.BiConsumer[_ >: String, _ >: String]
.