また、Rust ではResult で失敗する関数や Option で None になる処理に ? をつけることで処理を short-circuit して抜け出せる. これは TypeScript や Kotlin の optional chaining を Result 型にも拡張したものとしてみることができる. Rust: Result の short-circuit pub fn f() -> Result<i32,String> { let str = may_fail_with_string()?; let i = str.parse::<i32>().map_err(|_| "error message".to_string())?; Ok(i) } fn may_fail_with_string() -> Result<String,String> { todo!() }