//先構(gòu)造iterator
class ReverseIterator<T>: IteratorProtocol {
var array: [T]
var currrentIndex = 0
init(arr:[T]) {
self.array = arr
currrentIndex = arr.count-1
}
func next() -> T? {
if currrentIndex < 0{
return nil
}else{
let index = currrentIndex
currrentIndex = currrentIndex - 1
return array[index]
}
}
typealias Element = T
}
//構(gòu)造
class ReverseSequence<T>: Sequence {
var array: [T]
init(arr:[T]) {
self.array = arr
}
typealias Iterator = ReverseIterator<T>
func makeIterator() -> ReverseIterator<T> {
return ReverseIterator<T>(arr: self.array)
}
}
for (index,value) in ReverseSequence(arr: ["11231","2da","good"]).enumerated() {
print(index,value)
}
//0 good
//1 2da
//2 11231
如何實現(xiàn)sequence
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門颖系,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辩越,你說我怎么就攤上這事嘁扼。” “怎么了黔攒?”我有些...
- 文/不壞的土叔 我叫張陵趁啸,是天一觀的道長。 經(jīng)常有香客問我督惰,道長不傅,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任赏胚,我火速辦了婚禮访娶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘觉阅。我一直安慰自己崖疤,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布典勇。 她就那樣靜靜地躺著劫哼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪割笙。 梳的紋絲不亂的頭發(fā)上权烧,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扔字!你這毒婦竟也來了囊嘉?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布峰髓,位于F島的核電站,受9級特大地震影響息尺,放射性物質(zhì)發(fā)生泄漏携兵。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一掷倔、第九天 我趴在偏房一處隱蔽的房頂上張望眉孩。 院中可真熱鬧,春花似錦勒葱、人聲如沸浪汪。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽死遭。三九已至,卻和暖如春凯旋,著一層夾襖步出監(jiān)牢的瞬間呀潭,已是汗流浹背钉迷。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 一、如果讓你實現(xiàn)屬性的weak牵触,如何實現(xiàn)的淮悼? PS: @property 等同于在.h文件中聲明實例變量的get/...
- 前言 之前在 上篇[https://www.mghio.cn/post/558ca0bd.html] 提到過會實現(xiàn)...
- input搜索框相信大家在開發(fā)中用的很多,那么input框輸入的事件大家用的是什么呢揽思?大家肯定都使用過oninpu...
- 可見性 1lock指令對volatile修飾的變量,執(zhí)行寫操作的話酒来,JVM會發(fā)送一條lock前綴指令給CPU卢未,CP...