3 swift
我尝试实现一个示例函数来返回一个函数。
JS 中的预期代码如下:
var class1 = function(val)
{
var val1 = val;
var obj = {
say: function(val)
{
console.log(val1 + ' ' + val);
}
};
return obj;
};
var obj1 = class1('hello');
obj1.say('ken');
obj1.say('tom');
Run Code Online (Sandbox Code Playgroud)
在 Swift 中,函数是一流的对象,但有点像在 JS 中那样难以编写。谢谢!
在这里,稍微调整了一下:
func mkGreeter(greeting: String) -> (String) -> () {
return { name in println("\(greeting) \(name)") }
}
let greeter = mkGreeter("Hello")
greeter("Ken") // prints "Hello Ken"
greeter("Tom") // prints "Hello Tom"
Run Code Online (Sandbox Code Playgroud)
mkGreeter返回一个“记住”greeting参数并且可以直接调用的函数。
| 归档时间: |
|
| 查看次数: |
10760 次 |
| 最近记录: |