rust - 如何观察 Rust 的变化?
问题描述
我正在尝试设置剪贴板观察者。在大多数语言中,通常的路径是这样的:
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);
}
或者,您可以从循环返回一个值。
fn main() {
let outer = loop {
println!("In the loop.");
break 23;
};
println!("Outer after loop: {}", outer);
}
推荐阅读
- r - benferroni 调整 p 值 - 如何绑定它而不像 OR 和 CI 那样取幂?
- ethereum - 如何调用具有多个帐户的函数?
- node.js - 开玩笑 - 找不到测试
- php - 单击我的表单按钮时未获取 php $_post
- python - 如何使用 python pandas 数据框更新和添加 XML 文件中的属性
- c# - 是否可以让linked.cs 文件在当前解决方案中使用可用的命名空间?
- git - Git:从现有 repo 的子文件夹创建一个新的 repo 并使它们保持同步
- amazon-web-services - 来自运行centos7的ec2中的辅助网络接口ip的SSH
- java - 如何在 Spring Boot 中避免 DTO 到域的转换,反之亦然?
- reactjs - Material-UI 文件上传按钮