swift 在字典中存储swift闭包并在scirpt上用下标缓存它们

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 在字典中存储swift闭包并在scirpt上用下标缓存它们相关的知识,希望对你有一定的参考价值。

//cached functions that compile to javascript

struct Stringpiler {
    let funcs = [
        "=":{(args:[String]) -> String in "var \(args[0]) = \(args[1])"},
        "+=":{(args:[String]) -> String in "\(args[0]) += \(args[1])"},
        "-=":{(args:[String]) -> String in "\(args[0]) -= \(args[1])"}
    ]
    subscript (args:String) ->String {
        get {
            var arguments = args.componentsSeparatedByString(" ")
            let method = funcs[arguments[0]]!
            arguments.removeFirst()
            return method(arguments)
        }
    }
}


let test = Stringpiler()
let result = test["= x 6"] //var x = 6
print(test["+= foo 4"])
//"foo += 4\n"

以上是关于swift 在字典中存储swift闭包并在scirpt上用下标缓存它们的主要内容,如果未能解决你的问题,请参考以下文章

如何将字典存储到我的解析仪表板中并从中提取数据(Swift 3)

在 Swift 中传递和存储闭包/回调

函数声明中的 Swift 错误闭包

在 Swift 中遇到完成处理程序和闭包问题

Swift-- 闭包

Swift 学习- 08 -- 闭包