2017-07-27 94 views
2

在几种Microsoft语言中,有“带块”的概念。例如,而不是swift是否具有相同的“带块”

myObject.x = 5 
myObject.y = 10 
myObject.z = 12 

你可以写类似

With myObject 
    .x = 5 
    .y = 10 
    .z = 12 
End With 

是否有雨燕类似的东西?

回答

3

没有内置的语言,但有一个叫Then库,它提供了这种功能:

let myObject = MyObject().then { 
    $0.x = 5 
    $0.y = 10 
    $0.z = 12 
} 

如果你想在实例化这种行为不存在依赖关系,你可以使用从返回的变种关闭:

let myObject: MyObject = { 
    let _myObject = MyObject() 
    _myObject.x = 5 
    _myObject.y = 10 
    _myObject.z = 12 
    return _myObject 
}() 
+0

非常有趣......谢谢! –

相关问题