#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());
}
};
```