在Java中,我能做到这一点。
int diff = 'Z' - 'A'; // 25
我曾尝试同鲁斯特:
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`
我该怎么办鲁斯特相当于操作?
操作是在Unicode世界意义的,几乎没有在ASCII世界空前有意义的,这就是为什么锈不直接提供,但有两种方法可以做到这一点取决于你的使用情况:
'Z' as u32 - 'A' as u32
b'Z' - b'A'