Avatar
Kishikawa Katsumi 12/22/2017 12:11 PM
failthroughを使うことはあまりないと思いますよ。だからこれまでのC言語系の文法だとデフォルトがfailthroughだったのをやめたわけで。
12:13 PM
func tokenize(source: String) -> [Token] { let state = State(input: source) for character in state.input { switch state.mode { case .plain: switch character { case "'": state.mode = .symbol case "\"": state.mode = .string case "\n": state.mode = .newline state.storage = "" case "(", ")", ":": state.tokens.append(Token(type: .token, value: String(character))) case " ": break default: state.mode = .token state.storage = String(character) }
👍 1
12:13 PM
^ こういうのとか使うかもしれないけど、caseにカンマで区切ってもかけるから、結局書かない。
12:14 PM
滅多に使わないので下手に使ってfailthroughを見落として下に抜ける方が罠っぽくなるし。 (edited)
12:14 PM
と思います。