rust - 如何在 Rust 中从另一个字符中减去一个字符?
问题描述
在 Java 中,我可以做到这一点。
int diff = 'Z' - 'A'; // 25
我在 Rust 中尝试过同样的方法:
fn main() {
'Z' - 'A';
}
但编译器抱怨:
error[E0369]: binary operation `-` cannot be applied to type `char`
--> src/main.rs:2:5
|
2 | 'Z' - 'A';
| ^^^^^^^^^
|
= note: an implementation of `std::ops::Sub` might be missing for `char`
如何在 Rust 中进行等效操作?
解决方案
该操作在 Unicode 世界中没有意义,在 ASCII 世界中几乎没有意义,这就是 Rust 不直接提供它的原因,但是根据您的用例有两种方法可以做到这一点:
- 将字符转换为它们的标量值:
'Z' as u32 - 'A' as u32
- 使用字节字符文字:
b'Z' - b'A'
推荐阅读
- ios - IQKeyboardManager:在键盘上方保留多个字段
- asp.net-core - 将缓存添加到 ASP.NET Core 响应
- python - 如何为python中数据框中的特定列创建掩码?
- api - SAP SuccessFactors oData API。未找到 FO 部门实体
- tableau-api - 如何查找 HiveServer2 的连接详细信息以进行 Tableau 可视化
- arrays - postgresql中的对象数组
- angular - Angular PrimeIcons 在本地工作,但不在 IIS 上
- python - 如何使用 pandas.read_csv 读取字段
- c# - 使用 Firebase 存储脱机时如何捕获和处理 GetBytesAsync 错误?
- node.js - 从 iOS 应用程序调用时,Firebase 函数返回空值