3
,和我以前從一個標誌得到一個值是這樣的:變量不活足夠長的時間:我使用getopts的匹配選項類型
let file = matches.opt_str("f").unwrap();
let file_path = Path::new(&file);
但是,我想更好地處理可能出現的錯誤,通過使路徑可選。這是我的新代碼:
let file = matches.opt_str("f");
let file_path = match file {
Some(f) => Some(Path::new(&f)),
None => None
}
但是,當我嘗試編譯這段代碼,我得到的錯誤'f' does not live long enough
。我完全被難住了。
繼承人我的代碼MCVE:
fn main() {
let foo = Some("success".to_string());
let string = match foo {
Some(s) => Some(Path::new(&s)),
None => None
};
}
太棒了!謝謝! –