gpt4 book ai didi

rust - Rust 中的多行字符串,保留前导空格

转载 作者:行者123 更新时间:2023-11-29 07:46:02 26 4
gpt4 key购买 nike

在某些语言中,可以编写这样的东西:

val some_string =
"""First line.
| Second line, with leading space."""

也就是说,一个多行字符串,其中所有前导空格都被删除到一个点,但不再进一步。这可以通过编写在 Rust 中模仿:

let some_string = 
"First line.\n \
Second line, with leading space.";

但是,这失去了更接近实际输出的好处。在 Rust 中有没有一种方法可以编写类似于示例伪代码的东西,保留(一些)前导空格?

最佳答案

它不受 Rust 1.7 语言的支持,但 Indoc是一个程序宏,可以做你想做的事。它代表“缩进文档”。它提供了一个名为 indoc!() 的宏,它采用多行字符串文字并取消缩进,因此最左边的非空格字符位于第一列中。

let some_string = indoc! {"
First line.
Second line, with leading space."
};

它也适用于原始字符串文字。

let some_string = indoc! {r#"
First line.
Second line, with leading space."#
};

两种情况下的结果都是"First line\n Second line, with leading space."

关于rust - Rust 中的多行字符串,保留前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33334994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com