型の中に関数を適応させます。

ああこれってHaskellのfmapに似てる〜ってちょっと感動したのでメモです。
堅牢さと簡潔さが両方求めるような状況下で役立ちそうです。

Haskell

コード

main = do 
   print (fmap  (+7) (Just 10)) 
   print (fmap  (+7) Nothing)

結果

Just 17
Nothing

Rust

コード

fn main() {
    println!("{:?}", Some(10).map(|v| v+7));
    println!("{:?}", None::<usize>.map(|v| v+7));
}

結果

Some(17)
None

参考

AtCoder abc118 arzkさんの回答

广告
将在 10 秒后关闭
bannerAds