回答:
Scala 2.9以降sys.env
、同じ効果を使用できます:
scala> sys.env("HOME")
res0: String = /home/paradigmatic
Javaの代わりにScala APIを使用するのが良いと思います。現在、JVM以外のプラットフォーム(.NET、javascript、ネイティブなど)にScalaをコンパイルするプロジェクトがいくつかあります。JavaAPIへの依存関係を減らすと、コードの移植性が高まります。
sys.env
、それだけMap
です。あなたに適した方法なら何でもできます。
sys.env.getOrElse("VARIABLE", "default value")
環境変数が定義されていない可能性がある私の場合にも役立ちました。
同じ方法:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
Lightbendの構成ライブラリが使用されている場合(デフォルトではPlay2とAkka)、使用できます
foo = "default value"
foo = ${?VAR_NAME}
環境変数VAR_NAMEが存在する場合にfooをオーバーライドする構文。https://github.com/typesafehub/config#optional-system-or-env-variable-overridesで詳細を確認してください
印刷するには、すべての環境変数を、あなたが使用することができます
System.getenv.forEach((name, value) => println(s"$name: $value"))
error: missing parameter type
これをコピーして貼り付けるだけなら、argsに。
(name: String, value: String)
に変更すると、が表示されますerror: type mismatch; found : (String, String) => Unit required: java.util.function.BiConsumer[_ >: String, _ >: String]
。
sys.env.get("VARIABLE")
ですOption[String]
。