Avatar
extension Optional { mutating func unwrapped(default: @autoclosure () throws -> Wrapped) rethrows -> Wrapped { if let val = self { return val } self = `default`() return self! } }
5:30 PM
Dictionary の新しい subscript と同じパターンな気がする。
Dictionary は、読むだけでは mutate しないからちょっと違う感じ