W Javie odczyt zmiennych środowiskowych odbywa się za pomocą System.getenv()
.
Czy jest na to sposób w Scali?
scala
environment-variables
żarówka letnia
źródło
źródło
sys.env.get("VARIABLE")
które daOption[String]
zamiast zgłosić błąd, jeśli brakuje tej zmiennej.sys.env
to tylko plikMap
. Możesz dowolną metodę, która jest dla Ciebie odpowiednia.sys.env.getOrElse("VARIABLE", "default value")
był również pomocny w moim przypadku, gdy zmienna środowiskowa nie została zdefiniowana.Jest obiekt:
zawiera zbiór metod, których można użyć do uzyskania informacji o środowisku, w tym
źródło
Ta sama droga:
źródło
Używając bezpośrednio wartości domyślnej z
getOrElse
over thesys.env
Map (val myenv: Map[String, String] = sys.env
):Otrzymasz zawartość
envVariable
lub, jeśli nie istnieje, plikdefaultValue
.źródło
Jeśli używana jest biblioteka konfiguracji Lightbend (domyślnie w Play2 i Akka), możesz użyć
foo = "default value" foo = ${?VAR_NAME}
składnię, aby przesłonić foo, jeśli istnieje zmienna środowiskowa VAR_NAME. Więcej szczegółów na https://github.com/typesafehub/config#optional-system-or-env-variable-overrides
źródło
Aby wydrukować wszystkie zmienne środowiskowe, możesz użyć
źródło
error: missing parameter type
na argumentach, jeśli po prostu skopiujesz i wkleisz to.(name: String, value: String)
otrzymujęerror: type mismatch; found : (String, String) => Unit required: java.util.function.BiConsumer[_ >: String, _ >: String]
.