6

标题说明了一切。我想将字母表生成为字符向量。我确实考虑过简单地创建一个 97-122 的范围并将其转换为字符,但我希望有一个更好看的方式,比如 Python 的string.ascii_lower.

生成的向量或字符串应包含字符 az。

4

2 回答 2

19

对这类事情进行硬编码是有意义的,因为它可以是一个编译常量,这对提高效率很有好处。

static ASCII_LOWER: [char; 26] = [
    'a', 'b', 'c', 'd', 'e', 
    'f', 'g', 'h', 'i', 'j', 
    'k', 'l', 'm', 'n', 'o',
    'p', 'q', 'r', 's', 't', 
    'u', 'v', 'w', 'x', 'y', 
    'z',
];

(自行决定是否使用staticconst。)

这几乎就是 Python 在 string.py 中的做法:

lowercase = 'abcdefghijklmnopqrstuvwxyz'
# ...
ascii_lowercase = lowercase
于 2013-09-28T00:09:35.553 回答
5

收集 a 的角色str似乎不是一个坏主意……

let alphabet: Vec<char> = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".chars().collect();
于 2018-12-15T09:43:14.887 回答