我一直在阅读有关的防锈和这个封闭例如博客让我纳闷:为什么防火墙解析器需要fn关键字?
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); }
}
也许我缺少的东西类系统会阻止这一点。