我的问题如下,但我想问一下标题中稍微宽泛的问题.
我有一个a类型为Chars其他字符串的迭代器.假设我在读取字符串时发现错误,并且我想打印错误消息.这条消息应该提到错误在字符串中的位置(行号等).在Rust标准库中有什么方法可以帮助我吗?
以下是根据您的使用情况量身定制的示例:
fn one_indexed<T>((n, x): (usize, T)) -> (usize, T) {
(n+1, x)
}
fn main() {
let s = "abc def\nghi jkl";
for (line_n, line) in s.lines().enumerate().map(one_indexed) {
for (char_n, char) in line.chars().enumerate().map(one_indexed) {
println!("character {} at {}:{}", char, line_n, char_n);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这打印:
character a at 1:1
character b at 1:2
character c at 1:3
character at 1:4
character d at 1:5
character e at 1:6
character f at 1:7
character g at 2:1
character h at 2:2
character i at 2:3
character at 2:4
character j at 2:5
character k at 2:6
character l at 2:7
Run Code Online (Sandbox Code Playgroud)