如何从另一个在锈减去一个字符?

问题描述 投票:3回答:1

在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`

我该怎么办鲁斯特相当于操作?

rust char
1个回答
7
投票

操作是在Unicode世界意义的,几乎没有在ASCII世界空前有意义的,这就是为什么锈不直接提供,但有两种方法可以做到这一点取决于你的使用情况:

  • 演员的人物到他们的标量值:'Z' as u32 - 'A' as u32
  • 使用字节字符文字:b'Z' - b'A'
© www.soinside.com 2019 - 2024. All rights reserved.