この記事の概要 Option<T> 型や Result<T, E> 型の戻り値を、match 式で判別している以下のようなコードを、 fn double_arg(mut argv: env::Args) -> Result<i32, String> { match argv.nth(1) { None => Err("数字を1つ指定してください。".to_owned()), Some(arg1) => { match arg1.parse::<i32>() { Ok(n) => Ok(2 * n), Err(err) => Err(err.to_string()), } } } }