はじめに
- @yuta_vamdemic さんのGoでOSの環境変数を利用するを拝見しまして、私はぜひElixirでの話をまとめておこうとおもいます
-
Elixirは
Elixir 1.10.4 (compiled with Erlang/OTP 23)
を使いました
System.get_env を使います
System.get_env/0
-
/
のうしろの数字は引数の数です - 引数無しで呼び出すとすべての環境変数がマップで得られます
iex> System.get_env
%{
"HELLO_NERVES_QIITA_READ_WRITE_TOKEN" => "secret",
...
}
System.get_env/1
- 環境変数がセットされていない場合には
nil
が返ります
iex> System.get_env("NHK_API_KEY")
"secret"
iex> System.get_env("NOT_SET")
nil
System.get_env/2
- 環境変数がセットされていない場合のデフォルト値を第二引数で指定します
iex> System.get_env("NOT_SET")
nil
iex> System.get_env("NOT_SET", "4001")
"4001"
iex> System.get_env("NHK_API_KEY", "nhk")
"secret"