1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use join_string::Join;

fn main() -> std::io::Result<()> {
    println!("{}", ["foo", "bar", "baz"].join(", "));
    println!("{}", ['a', 'b', 'c'].join(", "));
    println!("{}", ["foo".to_owned(), "bar".to_owned(), "baz".to_owned()].join(", "));
    println!("{}", vec![1, 2, 3].iter().cycle().take(5).join(", "));
    println!("{}", "äüö".chars().join(' '));
    std::env::args().join(", ").write_io(std::io::stdout())?;
    println!();

    // inefficient temporary string
    let str: String = std::env::args().join(", ").into();
    println!("{}", str);

    Ok(())
}