这是一个示例,它将字符串拆分并解析每个项,并将其放入元组中,在编译时已知其大小。
use std::str::FromStr;
fn main() {
let some_str = "123,321,312";
let num_pair_str = some_str.split(',').collect::<Vec<&str>>();
if num_pair_str.len() == 3 {
let num_pair: (i32, i32, i32) = (
i32::from_str(num_pair_str[0]).expect("failed to parse number"),
i32::from_str(num_pair_str[1]).expect("failed to parse number"),
i32::from_str(num_pair_str[2]).expect("failed to parse number"),
);
println!("Tuple {:?}", num_pair);
}
}
有没有一种方法可以避免对数字进行重复解析?
这是一个例子,如果Rust支持类似Python的推导,它可能会看起来像什么:
let num_pair: (i32, i32, i32) = (
i32::from_str(num_pair_str[i]).expect("failed to parse number")
for i in 0..3
);
有没有可能以一种扩展向量的方式来声明元组?