我有一个hm1: HashMap<K, V>
,其中K
是一个元组(k1, 2, k3)
,V
是一个包含10个元素的元组,例如(v1, v2, v3, /* ... */ v10)
。
我有一个作用于该HashMap
的函数,所以我将其作为参数传递:
fn do_something(hm1: HashMap<(&i64, &i64, &Option<i64>), (&i64, &i64, /* ... */ &i64)>) -> () {
//Access k1, k2, k3 and v1 .. v10 and do something with it
}
我还有第二个HashMap
hm2
,唯一的区别是附加的关键元素。 hm2: HashMap<K, V>
其中K
是元组(k1, k2, k3, k4)
,V
再次是10个元素(v1, v2, v3, /* ... */ v10)
的元组。
我想避免复制并粘贴带有自适应签名的相同do_something()
函数,因为内部逻辑几乎相同。区别只是在元组中有一个附加的k4
元素,如果我有hm2
,我也将访问该元素。
是否有一种方法可以概括化HashMap<K, V>
参数,以便我可以传递两个HashMap
并对其执行操作,而无需复制函数?
我有一个hm1:HashMap
我想避免复制粘贴具有自适应签名的相同
do_something()
函数,因为内部逻辑几乎相同。