我正在尝试设置剪贴板观察器。在大多数语言中,通常的做法是:
func main() {
old_contents
loop {
new = get_clipboard()
if new != old_contents {
old_contents = new
do_something
}
}
这在Rust中不会立即生效,因为循环会获得自己的变量等版本。从一般意义上来说,我应该怎么做?
最佳答案
对于简单的loop
而言并非如此。这是一个演示。
fn main() {
let mut outer = 42;
loop {
println!("Outer in loop: {}", outer);
outer = 23;
break;
}
println!("Outer after loop: {}", outer);
}
或者,您可以return a value from a loop。
fn main() {
let outer = loop {
println!("In the loop.");
break 23;
};
println!("Outer after loop: {}", outer);
}
关于rust - 我如何观察Rust的变化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57351171/