2, 3].iter().copied().collect(); println!("{:?}", v); // [1, 2, 3] Iterator<Item=char> から String を構築する let v: String = ['a', 'b', 'c'].iter().copied().collect(); println!("{:?}", v); // "abc" Iterator<Item=Result<u32, u32>> から Result<Vec<u32>, u32> を構築する let v: Result<Vec<u32>, u32> = [Ok(1), Ok(2), Ok(3)].iter().copied().collect(); println!("{:?}", v); // Ok([1, 2, 3]) let v: Result<Vec<u32>, u32> = [Ok(1), Ok(2), Err(3)].iter().copied().collect(); println!("{:?}", v); // Err(3) Iterator<Item=AsRef<Path>> から PathBuf を構築する let v: std::path::PathBuf = ["a", "b", "c"].iter().collect(); println!("{}", v.display()); // "a/b/c" Copyright © OPTiM Corp. All Rights Reserved. 28