Cargo, bir listesi Kargo belgeleri sayfalarında bulunabilen ortam değişkenleri aracılığıyla derleyiciye bazı meta verileri iletir .
Derleyici ortamına fill_env
Cargo kodunda yer verilmiştir. Bu kod önceki sürümlerden bu yana daha karmaşık hale geldi ve değişkenlerin tüm listesi artık dinamik olabileceği için bundan daha açık değil. Ancak, en azından aşağıdaki değişkenler orada ayarlanır (dokümanlardaki listeden):
CARGO_MANIFEST_DIR
CARGO_PKG_AUTHORS
CARGO_PKG_DESCRIPTION
CARGO_PKG_HOMEPAGE
CARGO_PKG_NAME
CARGO_PKG_REPOSITORY
CARGO_PKG_VERSION
CARGO_PKG_VERSION_MAJOR
CARGO_PKG_VERSION_MINOR
CARGO_PKG_VERSION_PATCH
CARGO_PKG_VERSION_PRE
Ortam değişkenlerine env!()
makroyu kullanarak erişebilirsiniz . Programınızın sürüm numarasını eklemek için bunu yapabilirsiniz:
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION);
Programınızın Kargo olmadan bile derlenmesini istiyorsanız, aşağıdakileri kullanabilirsiniz option_env!()
:
const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION.unwrap_or("unknown"));