以下の内容はhttps://giarrium.hatenablog.com/entry/2023/04/14/230030より取得しました。


642日目

日記

今日書いたコード

add EditorAction.delete · Gurrium/SwiftKilo@82aabd8 · GitHub

感想

自分で書いておいてこれ動くんだとなった。多分ステートマシンにしたほうがいい。いつかやる。

final class KeyProcessor {
    private var state = [UnicodeScalar]()

    func process(_ scalar: UnicodeScalar) -> EditorAction? {
        switch state {
        case Array("\u{1b}[3~".unicodeScalars):
            action = .delete
        }

        return action
    }
}
func test_delete() {
    "\u{1b}[3".unicodeScalars.forEach { XCTAssertNil(keyProcessor.process($0)) }
    XCTAssertEqual(keyProcessor.process(.init("~")), .delete)
}



以上の内容はhttps://giarrium.hatenablog.com/entry/2023/04/14/230030より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14