การขนส่งสินค้าผ่านข้อมูลเมตาบางอย่างที่จะเรียบเรียงผ่านตัวแปรสภาพแวดล้อมรายการที่สามารถพบได้ในหน้าเอกสารการขนส่งสินค้า
สภาพแวดล้อมคอมไพเลอร์ถูกบรรจุโดยfill_env
ในรหัสของ Cargo รหัสนี้มีความซับซ้อนมากขึ้นตั้งแต่รุ่นก่อนหน้าและรายการตัวแปรทั้งหมดไม่ชัดเจนอีกต่อไปเพราะมันสามารถเป็นแบบไดนามิก อย่างไรก็ตามอย่างน้อยตัวแปรต่อไปนี้จะถูกตั้งค่าไว้ที่นั่น (จากรายการในเอกสาร):
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"));