我一直在阅读有关 rust 的博客,例如,这个关闭让我想知道:
fn each<E>(t: &Tree<E>, f: &fn(&E) -> bool) {
if !f(&t.elem) {
return;
}
for t.children.each |child| { each(child, f); }
}
为什么不能:
each<E>(t: &Tree<E>, f: &(&E) -> bool) {
if !f(&t.elem) {
return;
}
for t.children.each |child| { each(child, f); }
}
也许我在班级系统上遗漏了一些可以防止这种情况的东西。