#Rust https://doc.rust-lang.org/reference/expressions/operator-expr.html#the-question-mark-operator [[std.result.Result|Result]]型のあとに`?`をつける[[Rust]]のオペレーター。[[std.result.Result|Result]]が[[std.result.Result.Ok|Ok]]の場合は`unwrap`された結果を返し、[[std.result.Result.Err|Err]]の場合は呼び出し中の関数に`return`する。 [[Question mark operator]]は[[Result]]型を返す関数内でしか利用できない。 ## 具体例 ```rust let content = std::fs::read_to_string(&args.path)?; ``` は以下の糖衣構文。 ```rust let result = std::fs::read_to_string(&args.path); let content = match result { Ok(content) => content, Err(error) => { return Err(error.into()); } }; ```