나는 방금 녹을 배우기 시작했고, 방법이 과부하되는 방법이 있는지 궁금해하고 있습니다. 처음에는 구조체를 만들고 기본 '새'메서드를 구현하는 데 'impl'을 사용했습니다. 그런 다음 일부 매개 변수와 함께 '새로운'방법을 추가 할 생각이었고, 그 특성을 사용하려고했습니다.'새로운'방법을 과부하하는 법?
다음 코드는 성공적으로 컴파일되었지만 일단 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 }
}
}
고맙습니다! 나는 그것을있어. –