2015-01-13 2 views
0

Обновление моего кода к новому nightlies и кажется, что они избавились от to_string() для станд :: VecЧто такое идиоматический способ печати Vec в виде строки?

src/rust_mnemonic.rs:100:39: 100:50 error: type `collections::vec::Vec<&str>` does not implement any method in scope named `to_string` 
rc/rust_mnemonic.rs:100  println!("mnemonic: {}", mnemonic.to_string()); 

ответ

4

Вы можете использовать :? спецификатор, который использует Debug черты.

fn main() { 
    let v = vec![0u8, 1, 2, 3, 4, 5]; 
    println!("{:?}", v); 
} 

Если вы хотите как String, то вы можете использовать format!:

fn main() { 
    let v = vec![0u8, 1, 2, 3, 4, 5]; 
    let s = format!("{:?}", v); 
    println!("-->{}<--", s); 
} 
+1

@leshow Некоторые мотивы/объяснение из '{:}' спецификатор доступен в [Показать стабилизационного RFC ] (https://github.com/rust-lang/rfcs/blob/master/text/0504-show-stabilization.md). –

+0

как насчет фактического преобразования Vec в строку? – leshow

+0

@еслиш добавил пример этого. – Shepmaster