我一直在閱讀有關的防鏽和這個封閉例如博客讓我納悶:爲什麼防火牆解析器需要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); }
}
也許我缺少的東西類系統會阻止這一點。