let a: usize = my_tuple.0.parse()?;
let b: usize = my_tuple.1.parse()?;
如果你需要一些更“复杂”的东西,你必须使用一个宏:How to iterate or map over tuples? 当你把它和Python比较时,这看起来似乎是不必要的麻烦,Python中的元组确实是可迭代的,但那是因为你在Python中有动态和duck类型,所以元组可以是异构的(不同的数据类型在不同的位置)这一事实并不是什么大问题。 想一想,在类型为(i32, String, Option<f64>)的元组中传递给map的闭包的签名是什么?
1条答案
按热度按时间yqhsw0fo1#
元组应该是异构集合,因此您实际上不能迭代它们,因为原则上不同的元素可以具有不同的类型。
所以最简单的方法就是
如果你需要一些更“复杂”的东西,你必须使用一个宏:How to iterate or map over tuples?
当你把它和Python比较时,这看起来似乎是不必要的麻烦,Python中的元组确实是可迭代的,但那是因为你在Python中有动态和duck类型,所以元组可以是异构的(不同的数据类型在不同的位置)这一事实并不是什么大问题。
想一想,在类型为
(i32, String, Option<f64>)
的元组中传递给map
的闭包的签名是什么?