如何创建 include_str 的错误版本?

问题描述 投票:0回答:2
如果请求的文件不存在,

include_str!("file")
将在编译时失败。我正在寻找一个在这种情况下返回
None
的宏:
try_include_str!("file") -> Option<&'static str>

如果我可以在编译时检查文件是否存在,那么这将相当简单,但从我看来,

std
中没有为此公开的宏。 我还能如何实现这个?

rust macros
2个回答
1
投票

您可以使用

include_dir
来执行此操作,因为它可以让您检查包含的目录中是否存在路径。

缺点:它将包含目录中的所有文件,其中可能包含您根本不打算访问的文件,从而增加了二进制文件的大小。但如果你可以安排只有你关心的文件位于某个目录中,无论它们是否存在,那么它应该会做得很好。


0
投票

有一个 include_Optional 板条箱可以执行此操作,但它已经有一段时间没有更新了。

© www.soinside.com 2019 - 2024. All rights reserved.