Avatar
Optional2引数の合成関数を作るのは、綺麗な世界じゃないけどそれなりに欲しいものは出来る気がしてきた
7:51 AM
flatMap, ?? のいずれも出来ない事を実現する関数
7:53 AM
extension Optional { func merge(with other: Optional, f: (Wrapped, Wrapped) -> Wrapped) -> Optional { if let x = self, let y = other { return .some(f(x, y)) } else { return self ?? other } } }
7:53 AM
これだ!