TODO
Step 5
将 parse_config 改写为 Config::new 这个结构体构造函数,即 impl Config { fn new() }
它也是一个结构体关联函数 (函数的参数里面没有 &self), 关联函数的调用要用双冒号,即 Config::new() 这样的形式调用。
(另外,结构体函数参数中包含 &self 的是方法函数,使用点号调用)
Step5 answer
fn main() {
let args: Vec<String> = env::args().collect();
let config = Config::new(&args);
// --snip--
}
// --snip--
impl Config {
fn new(args: &[String]) -> Config {
let query = args[1].clone();
let filename = args[2].clone();
Config { query, filename }
}
}