我试图理解Rust 中二叉树的实现,但我无法理解函数中的一些作用域魔法locate_mut
:
match {anchor} {
&mut Some(ref mut node) if key != node.value.key() => {
anchor = if key < node.value.key() {
&mut node.left
} else {
&mut node.right
}
},
other @ &mut Some(_) |
other @ &mut None => return other
}