string - 生成设定长度的字符串

标签 string rust

我正在尝试生成一个字符串,如果有一个像 [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

Demo

关于string - 生成设定长度的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406751/

相关文章:

javascript - 再次连接分割后的字符串,跳过分割形成的数组的一个索引

string - 为了实现 ToSocketAddrs 特性,我如何将 String 强制转换为 &str ?

initialization - 与结构同名的函数

rust - 什么等效于C++的虚拟覆盖以防止代码重写的Rust?

file - 如何获取当前光标在文件中的位置?

rust - 如何在不清理整个项目的情况下强制 `build.rs` 再次运行?

java - 我搜索实现函数获取字符串中出现次数最多的字符并对其进行计数

java - Java 是否支持多行字符串?

methods - 什么类型对方法的 `self` 参数有效?

objective-c - Objective-C 中的字符串操作