标题说明了一切。我想生成字母作为字符向量。我确实考虑过简单地创建一个97-122的范围并将其转换为字符,但我希望有一个更好看的方式,例如Python的string.ascii_lower
。
生成的矢量或字符串应包含字符a-z。
答案 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();