Rust 我怎么能看东西生锈的变化?
我正在尝试设置剪贴板监视程序。在大多数语言中,通常的路径如下:Rust 我怎么能看东西生锈的变化?,rust,Rust,我正在尝试设置剪贴板监视程序。在大多数语言中,通常的路径如下: func main() { old_contents loop { new = get_clipboard() if new != old_contents { old_contents = new do_something } } 这在Rust中不会立即起作用,因为循环有自己版本的变量等等。就一般意义而言,我应该怎么做 因为循环有自己版本的变量等等 对于简单的循环,情况
func main() {
old_contents
loop {
new = get_clipboard()
if new != old_contents {
old_contents = new
do_something
}
}
这在Rust中不会立即起作用,因为循环有自己版本的变量等等。就一般意义而言,我应该怎么做
因为循环有自己版本的变量等等
对于简单的循环
,情况并非如此。这是一个演示
fn main() {
let mut outer = 42;
loop {
println!("Outer in loop: {}", outer);
outer = 23;
break;
}
println!("Outer after loop: {}", outer);
}
或者,你也可以
我注意到您的循环从未终止,因此在
循环
之外永远不会使用旧内容。这有关系吗?你说的“他们自己的变量版本”是什么意思?我认为你应该阅读来理解和正确地学习语言。循环也会在这里解释,它可能会帮助你避免一些关于生锈的意识。请阅读:)@Schwern它是在循环中使用的,这是唯一的一点-我真的只想让它观察每个循环的变化,并在变化时做些什么。@HaroldSchreckengost您的示例并不生锈,但基本思想会起作用<代码>让mut new=42;让mut old_contents=值;循环{…}
你尝试过什么?“对于一个简单的循环来说不是这样的”:对于Rust中的每个构造来说都不是这样。Rust在声明的地方没有隐式变量。
fn main() {
let outer = loop {
println!("In the loop.");
break 23;
};
println!("Outer after loop: {}", outer);
}