rust - Rust - 没有实现 `&Result<_, _> == String`
问题描述
我正在尝试制作一个 if 语句,比较一个 String 变量和一个 String 以匹配精确值(不使用match
)。这是我的代码:
if &guess.trim().parse() == String::from("quit") { // TODO: Fix this
println!("Goodbye! The secret number was: {} and you attempted to guess it {} times!", secret_number, tries);
break;
}
guess
是已通过用户输入 ( )String::new()
赋值的io::stdin().read_line(&mut guess).expect("Unable to read line");
当我运行代码时,我从上面的代码片段中得到一个错误:
有谁知道我为什么会收到此错误以及如何解决?
我曾尝试转换"quit"
为,String::from("quit")
但似乎错误与 the 有关==
,我不确定是什么&Result<_, _>
。谢谢!
解决方案
在这种情况下是多余的,但在大多数其他情况下,您可以通过从 中提取实际值并使用它而不是本身来parse()
解决错误“未为 Result 实现的东西” 。您的选择是:Result
Result
有关详细信息,请参阅本书章节Result
。
推荐阅读
- vb.net - WebRequest 发送文件
- amazon-dynamodb - 用于离子格式的 Athena DDL?
- java - 安全工具扫描问题,发现依赖默认编码:new String(byte[])
- json - 以数字为键的mongodb导入对象导致数组
- javascript - 如何获得具有所有给定参数的椭圆的轴对齐边界框?
- vega - 在 Vega 边缘捆绑中设置单独的边缘宽度
- python - 网页抓取问题:打印时数据不显示
- xcode - 在 Xcode 12 中使用 mapview 调整窗口大小时应用程序崩溃
- javascript - Discord.js 在命令“Uncaught TypeError”时崩溃
- sql - 将两个 select 语句相除以获得小数