Emcee
23 строки · 443.0 Байт
1import Foundation
2
3enum FileState {
4case open(FileHandle)
5case closed
6
7var openedFileHandle: FileHandle? {
8switch self {
9case .open(let handle): return handle
10case .closed: return nil
11}
12}
13
14mutating func close() {
15switch self {
16case .open(let handle):
17handle.closeFile()
18self = .closed
19case .closed:
20break
21}
22}
23}
24