#options #proc-macro #include #version

nightly macro no-std include_optional

include_X宏的选项返回版本

2个稳定版本

1.0.1 2021年8月15日
1.0.0 2021年8月14日

1360过程宏

每月30次下载

MIT/Apache

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