Repeat string with integer multiplication

后端 未结 2 986
旧时难觅i
旧时难觅i 2021-01-03 17:21

Is there an easy way to do the following (from Python) in Rust?

>>> print (\"Repeat\" * 4) RepeatRepeatRepeatRepeat

I\'m starting to l

相关标签:
2条回答
  • 2021-01-03 17:58

    Rust 1.16+

    str::repeat is now available:

    fn main() {
        let repeated = "Repeat".repeat(4);
        println!("{}", repeated);
    }
    

    Rust 1.0+

    You can use iter::repeat:

    use std::iter;
    
    fn main() {
        let repeated: String = iter::repeat("Repeat").take(4).collect();
        println!("{}", repeated);
    }
    

    This also has the benefit of being more generic — it creates an infinitely repeating iterator of any type that is cloneable.

    0 讨论(0)
  • 2021-01-03 18:05

    This one doesn't use Iterator::map but Iterator::fold instead:

    fn main() {
        println!("{:?}", (1..5).fold(String::new(), |b, _| b + "Repeat"));
    }
    
    0 讨论(0)
提交回复
热议问题