gpt4 book ai didi

rust - 为什么多行字符串在开始时会跳过预期的空格?

转载 作者:行者123 更新时间:2023-12-03 11:33:40 24 4
gpt4 key购买 nike

我有一些带有预期空格的多行字符串。对于其中的一些,删除了一些空格:

const WORKING: &str = "\
┌─┬┐
│ ││
╞═╪╡
│ ││
├─┼┤
├─┼┤
│ ││
└─┴┘
";

const NON_WORKING: &str = "\


╶─┼╴

╶─┼╴
╶─┼╴


";

pub fn main() {
println!("{}", WORKING);
println!("{}", NON_WORKING);
}
它在不工作的行的开头删除了一些空格。打印:


╶─┼╴

╶─┼╴
╶─┼╴


我认为它必须处理 \的使用,但是 我不知道如何解决这个问题,而无需在" 之后开始
Playground

最佳答案

我自己还没有尝试过,但是我听说the indoc crate旨在帮助编写包含缩进的多行字符串文字。它从所有行中均等地删除前导空格,而不是\单独从每行中删除前导空格的行为。

Using indoc

use indoc::indoc;

fn main() {
let testing = indoc! {"
def hello():
print('Hello, world!')

hello()
"};
let expected = "def hello():\n print('Hello, world!')\n\nhello()\n";
assert_eq!(testing, expected);
}

关于rust - 为什么多行字符串在开始时会跳过预期的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65601049/

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