エラーのハンドリングの勉強。
こちらはResultを使ってハンドリングする書き方です。
fn get_int_from_file() -> Result<i32, String> {
let path = "number.txt";
let num_str = std::fs::read_to_string(path).map_err(|e| e.to_string())?;
num_str
.trim()
.parse::<i32>()
.map(|t| t * 2)
.map_err(|e| e.to_string())
}
fn main() {
match get_int_from_file() {
Ok(x) => println!("{}", x),
Err(e) => println!("{}", e),
}
}
?演算子は直前の処理のResult型を評価する書き方のようです。
「RUST勉強中、5/21の積み上げ」への1件のフィードバック