How to convert a Vec<Vec<f64>> into a string
我是 Rust 的新手,我正在为一项简单的任务而苦苦挣扎。我想将矩阵转换为字符串,字段由制表符分隔。我认为这可以通过使用
这就是我所拥有的,我想将
在 Python 中,这类似于
1
2 3 4 5 6 7 8 9 |
fn print_matrix(vec: &Vec<Vec<f64>>) {
for row in vec.iter() { for col in row.iter() { print!("//t{:?}",col); } println!("/ "); } } |
标准库中确实有一个
1
2 3 4 5 6 7 |
fn print_matrix(vec: &Vec<Vec<f64>>) {
for row in vec { let cols_str: Vec<_> = row.iter().map(ToString::to_string).collect(); let line = cols_str.join("//t"); println!("{}", line); } } |
问题是这个
板条箱
1
2 3 4 |
for row in vec {
let line = row.iter().join("//t"); println!("{}", line); } |
为了避免使用任何命名的功能,您当然可以手动操作:
1
2 3 4 5 6 7 8 9 |
for row in vec {
if let Some(first) = row.get(0) { print!("{}", first); } for col in row.iter().skip(1) { print!("//t{}", col); } println!(""); } |
除了
1
|
row.iter().fold("", |tab, col| { print!("{}{:?}", tab, col);"//t" });
|
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268721.html