如何从实例而不是完整类型中引用方法。
具有任何实现函数的类型很容易,您可以使用MyStruct::the_method
访问该方法。
但是如何处理其中的 实例 ?
我得到以下示例(playground):
struct NumGen<N> {
num: N
}
impl<N: Copy> NumGen<N> {
fn new(n: N) -> Self {
Self {
num: n,
}
}
fn get_num(&self) -> N {
self.num
}
}
fn print_num_from_other_func<F>(mut f: F) where F: FnMut() -> u32 {
println!("{}", f());
}
fn main() {
print_num_from_other_func(|| 10);
let num_gen = NumGen::new(10);
print_num_from_other_func(|| num_gen.get_num());
// this part doesn't work
// print_num_from_other_func(num_gen::get_num);
}