1 个不稳定版本
0.0.1 | 2023年11月21日 |
---|
#192 在 #宏
用于 build_assert
6KB
80 行
env_id
使用环境变量作为标识符。
用法
通过运行 env_id
将 cargo add
将 env_id
添加到您的项目中
cargo add env_id
示例
let env_id!("CARGO_CRATE_NAME") = 1;
dbg!(env_id!("CARGO_CRATE_NAME"));
或者您也可以提供一个默认值
let env_id!("HELLO" ?: hello) = 1;
dbg!(env_id!("HELLO" ?: hello));
这可能在您想让用户指定公共项的名称但以下代码无法编译时很有用
pub const env_id!("HELLO" ?: hello): usize = 1;
您可以使用另一个宏来完成相同的事情
macro_rules! def_const {
($id:ident) => {
pub const $id: usize = 1;
};
}
env_id!("HELLO"?: hello => def_const);
许可证
版权(C)2023 MaxXing。根据您的选择,许可为Apache 2.0或MIT。
lib.rs
:
使用环境变量作为标识符。
示例
let env_id!("CARGO_CRATE_NAME") = 1;
dbg!(env_id!("CARGO_CRATE_NAME"));
或者您也可以提供一个默认值
let env_id!("HELLO" ?: hello) = 1;
dbg!(env_id!("HELLO" ?: hello));
这可能在您想让用户指定公共项的名称但以下代码无法编译时很有用
pub const env_id!("HELLO" ?: hello): usize = 1;
您可以使用另一个宏来完成相同的事情
macro_rules! def_const {
($id:ident) => {
pub const $id: usize = 1;
};
}
env_id!("HELLO"?: hello => def_const);
依赖
~260–700KB
~17K SLoC