2个稳定版本
1.0.1 | 2021年8月15日 |
---|---|
1.0.0 | 2021年8月14日 |
1360 在 过程宏
每月30次下载
11KB
138 行
include_optional
注意:此功能目前仅在nightly Rust上工作。 此crate依赖于 proc_macro::SourceFile::path()
,该特性尚未稳定(此外,还依赖于不稳定函数 std::path::Path::try_exists
,但可能不需要太多麻烦即可移除此依赖)。
如果您能以某种方式避免此依赖,欢迎提交拉取请求!
此crate允许您可选地包含一个文件作为 Option。 此crate支持完整的 include_X!
宏家族(include_bytes!
、include!
和 include_str!
)。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
include_optional = "1.0"
示例
这包括文件的一些元数据,如果文件不存在,则回退到默认元数据
use include_optional::include_str_optional;
fn main() {
let metadata: &'static str = include_str_optional!("./metadata_files/file_exists.txt" ).unwrap_or("default metadata string");
//...
}
依赖关系
~1.5MB
~35K SLoC