【发布时间】:2023-03-13 01:11:01
【问题描述】:
假设我有这个序列:
let fibSequence = sequence(state: (0, 1), next: { (state) -> Int in
state = (state.1, state.0 + state.1)
return state.0
})
我可以做一些事情,比如获取前 5 个元素:
print(Array(fibSequence.prefix(5))) // => [1, 1, 2, 3, 5]
但是我怎样才能just 获得索引 5(第 6 个元素)处的元素? (或者如果序列在第 5 个元素之前终止,则返回 nil。)我能想到的最好的方法是:
print(fibSequence.dropFirst(5).makeIterator().next() as Any) // => Optional(8)
是否有内置方法来执行此类操作?
【问题讨论】:
-
您好,我的回答对您解决这个问题有帮助吗?
-
@DavidRees 啊,感谢您的跟进。之前没注意