Avatar
ArrayとかDictionaryの _modify の気持ちを考えていると、yieldで渡ってきた値対して複数の操作をしたいとき、こういうのがstdlibに欲しくなる func modify<T, ResultType>(_ x: inout T, _ body: (inout T) -> ResultType) -> ResultType { return body(&x) }
1:22 AM
書いてたコード // Before var frame = controlStack.last! self.valueStack.removeLast(valueStack.count - frame.height) frame.unreachable = true self.controlStack[controlStack.count - 1] = frame // After modify(&self.controlStack[controlStack.count - 1]) { frame in self.valueStack.removeLast(valueStack.count - frame.height) frame.unreachable = true }