mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
957 B
957 B
easy_traits
Instructions
Your task is to implement the trait AppendStr
for the type String, and AppendVec
for a vector of strings.
The trait AppendStr
has only one function, which is appending "world"
to any object implementing this trait.
And AppendVec
will append "three"
to a vector of strings.
Expected Function
trait AppendStr {
fn append_str(self) -> Self;
}
trait AppendVec {
fn append_vec(&mut self) -> Self;
}
impl AppendStr for String {}
impl AppendVec for Vec<String> {}
Usage
Here is a program to test your function.
use easy_traits::easy_traits;
fn main() {
let s = String::from("hello ").append_str();
println!("{}", s);
let l = vec![String::from("one"), String::from("two")].append_vec();
println!("{:?}", l);
}
And its output
student@ubuntu:~/[[ROOT]]/test$ cargo run
hello world
["one", "two", "three"]
student@ubuntu:~/[[ROOT]]/test$