作为字符传染媒介的英语字母表在铁锈

时间:2013-09-27 15:08:20

标签: rust

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

生成的矢量或字符串应包含字符a-z。

2 个答案:

答案 0 :(得分:11)

硬编码这种事情是有道理的,因为它可以是一个编译常量,这对效率很有帮助。

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',
];

(自行决定是使用static还是const。)

这几乎就是Python在string.py中的表现方式:

lowercase = 'abcdefghijklmnopqrstuvwxyz'
# ...
ascii_lowercase = lowercase

答案 1 :(得分:1)

收集str的字符似乎不是一个坏主意...

let alphabet: Vec<char> = "abcdefghijklmnopqrstuvwxyzABCDEFGIJKLMNOPQRSTUVWXYZ".chars().collect();