如何在不乱码的情况下存储与格式宏一起使用的大字符串文字?
How to store large string literals to be used with the format macro without littering code?
我的库中有一个函数接受一些变量和 returns 一个插入了这些变量的 HTML 页面。最好不要在我的模块中乱放 HTML 大文字?我的意思是,当我阅读我的代码时,它只是 "doesn't seem right" 有一段 HTML 我必须滚动浏览。
我在文本中想要插入变量的地方使用带有“{}”的 format!
宏,所以我想将页面保存为文件并加载它是行不通的。我不必使用 format!
宏,但当我有这种工具时,不手动处理文本似乎很优雅。
创建一个完整的模块只是为了保存此页面是一个好习惯吗?在我看来,模块是某种东西 "bigger",但也许这是最好的做法?
您可以将 HTML 保存在外部文件中并通过 std::include_str
包含它。例如
let html_code = format!(include_str!("src/index.html"), my, values, in, the, template);
由于文件的编译时要求,游乐场应用程序在这里无法正常工作,但在本地可以使用以下程序:
src/
foo.txt -- "{}"
main.rs -- println!(include_str!("foo.txt"), 1234);
我的库中有一个函数接受一些变量和 returns 一个插入了这些变量的 HTML 页面。最好不要在我的模块中乱放 HTML 大文字?我的意思是,当我阅读我的代码时,它只是 "doesn't seem right" 有一段 HTML 我必须滚动浏览。
我在文本中想要插入变量的地方使用带有“{}”的 format!
宏,所以我想将页面保存为文件并加载它是行不通的。我不必使用 format!
宏,但当我有这种工具时,不手动处理文本似乎很优雅。
创建一个完整的模块只是为了保存此页面是一个好习惯吗?在我看来,模块是某种东西 "bigger",但也许这是最好的做法?
您可以将 HTML 保存在外部文件中并通过 std::include_str
包含它。例如
let html_code = format!(include_str!("src/index.html"), my, values, in, the, template);
由于文件的编译时要求,游乐场应用程序在这里无法正常工作,但在本地可以使用以下程序:
src/
foo.txt -- "{}"
main.rs -- println!(include_str!("foo.txt"), 1234);