3
我剛開始學習Rust,我在想是否有辦法重載方法。 起初我創建了一個結構並使用'impl'來實現基本的'new'方法。然後我想用一些參數添加'新'方法,並且我嘗試使用這個特性。如何重載'新'方法?
以下代碼已成功編譯,但是一旦我嘗試使用帶有params的'new',編譯器給了我一個關於額外參數的錯誤。 那麼我應該如何在Rust中重載方法?
pub struct Words<'a> {
pub nouns: Vec<&'a str>,
}
trait Test<'a>{
fn new(nouns: Vec<&'a str>) -> Self;
}
impl<'a> Words<'a> {
pub fn new() -> Words<'a>{
let nouns = vec!["test1", "test2", "test3", "test4"];
Words{ nouns: nouns }
}
pub fn print(&self){
for i in self.nouns.iter(){
print!("{} ", i);
}
}
}
impl<'a> Test<'a> for Words<'a> {
fn new(nouns: Vec<&'a str>) -> Words<'a>{
Words{ nouns: nouns }
}
}
謝謝!我懂了。 –