std::envは、実行されているプロセスの環境に関する情報を取得することが出来るモジュール。
std::env::args()で、プロセス(実行コマンド)の引数を取得できる。
(JavaやC言語ではmain関数の引数で受け取る)
use std::env; use std::process;
fn main() {
let args: Vec<String> = env::args().collect();
let port: i32 = match args.get(1) {
Some(arg) => arg.parse().unwrap_or_else(|_| {
eprintln!("invalid port number '{}'", arg);
process::exit(1);
}),
None => {
eprintln!("Usage: {} <port>", args[0]);
process::exit(1);
}
};
println!("port = {}", port);
}
std::env::var()で、環境変数を取得できる。[2025-02-01]
let value = std::env::var("PATH").unwrap();
→コンパイル時に環境変数を読むenv!マクロ・option_env!マクロ