我正在尝试生成一个字符串,如果有一个像 [16,24..] 这样的列表和另一个列表 ["00","7F"..]
生成的列表是 [00000000000000000000000000000000,7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F,...
在 python 中,代码为:
for l in range(16, 32 + 1, 8):
for b in ['00', '7f', '80', 'ff']:
do_something(b * l);
我不确定如何在 Rust 中实现这一点,到目前为止我已经:
for &i in [16u,24u,32u].iter() {
for n in ["00","7f","80","ff"].iter() {
}
}
但我不知道如何创建字符串。
最佳答案
您可以使用repeat
它有自己的特征(std::str::StrAllocing
),但现在直接在 str
上实现:
fn main() {
for &i in [16u, 24u, 32u].iter() {
for n in ["00", "7f", "80", "ff"].iter() {
println!("{}", n.repeat(i))
}
}
}
打印
00000000000000000000000000000000
7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
80808080808080808080808080808080
ffffffffffffffffffffffffffffffff
000000000000000000000000000000000000000000000000
7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
808080808080808080808080808080808080808080808080
ffffffffffffffffffffffffffffffffffffffffffffffff
0000000000000000000000000000000000000000000000000000000000000000
7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f
8080808080808080808080808080808080808080808080808080808080808080
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
关于string - 生成设定长度的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406751/