कार्गो पर्यावरण मेटाबॉल के माध्यम से संकलक के लिए कुछ मेटाडेटा पास करता है, जिसकी एक सूची कार्गो प्रलेखन पृष्ठों में मिल सकती है ।
कंपाइलर का माहौल fill_env
कार्गो के कोड से आबाद है । यह कोड पहले के संस्करणों से अधिक जटिल हो गया है, और चर की पूरी सूची अब इससे स्पष्ट नहीं है क्योंकि यह गतिशील हो सकता है। हालाँकि, कम से कम निम्नलिखित चर वहाँ सेट किए जाते हैं (डॉक्स में सूची से):
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
आप env!()
मैक्रो का उपयोग करके पर्यावरण चर का उपयोग कर सकते हैं । अपने प्रोग्राम का वर्जन नंबर डालने के लिए आप यह कर सकते हैं:
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION);
यदि आप चाहते हैं कि आपका कार्यक्रम बिना कार्गो के भी संकलित हो, तो आप उपयोग कर सकते हैं option_env!()
:
const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION.unwrap_or("unknown"));