在斯威夫特,什么是“进步”?

前端之家收集整理的这篇文章主要介绍了在斯威夫特,什么是“进步”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据“ Swift语言指南”的 Control Flow部分,

The for-in loop performs a set of statements for each item in a range,sequence,collection,or progression.

我很确定我知道其中三个是:

>范围:用range operators,…或…定义的东西.
>顺序:符合SequenceType协议(文档没有任何明显的,但各种人都有reverse-engineered)
> collection:Swift collection types,即Array和Dictionary

(我注意到#3可能是多余的,因为数组和字典似乎都符合SequenceType.)

但是什么是“进步”?这是第四件事情,还是作者只是用文字

ETA:我看到有一个CollectionType协议,所以解释#3.

第一次提到,除了for-in文档之外,我看到“进展”是在定义了步幅方法快速框架的评论中.
func stride<T : Strideable>(from start: T,to end: T,by stride: T.Stride) -> StrideTo<T>

Return the sequence of values (start,start + stride,start + stride + stride,… last) where last is the last value in the progression that is less than end.

func stride<T : Strideable>(from start: T,through end: T,by stride: T.Stride) -> StrideThrough<T>

Return the sequence of values (start,… last) where last is the last value in the progression less than or equal to end. Note:: There is no guarantee that end is an element of the sequence.

所以简而言之,“进展”是指Strideable协议类似于“收集”是指CollectionType协议以及符合它的类和结构体.

数字类型(Int,Double,Float,UnsafePointer,Bit等)倾向于符合该协议,因此它们可以在循环中递增/递减.完整的继承图为Strideable协议发现here.

原文链接:https://www.f2er.com/swift/319722.html

猜你在找的Swift相关文章