Sequence 带来的更多乐趣
作者:Jameson Quave,原文鏈接,原文日期:2016-08-10
譯者:Joy;校對:bestswifter;定稿:千葉知風(fēng)
我想要分享一段來自 Swift 開發(fā)者的簡短對話,KS Sreeram 寫到:
我試圖通過下面幾步,通過最少的數(shù)據(jù)復(fù)制,高效地創(chuàng)建一個字節(jié)數(shù)組
創(chuàng)建一個空的字節(jié)數(shù)組。
在數(shù)組中預(yù)留充足的空間。
使用可變指針去做數(shù)組的數(shù)據(jù)填充。
只有數(shù)組被填充之后,才能知道它的實際大小。
我想要設(shè)置數(shù)組的大小為它被填充的實際大小。
我還沒有找到任何有效的方法去完成最后一步。有辦法去這么做嗎?
Dave Abrahams’ 的回應(yīng):
創(chuàng)建一個序列(Sequence)來表示你想要填充的數(shù)據(jù),例如:
var a = [1, 2]// a.reserve(256) - swift 2.2a.reserveCapacity(256) // swift 3.0a += sequence(first: 3, next: {$0 < 1000 ? ($0 + 3) * 2 : nil})有很多的方法去創(chuàng)建序列,但是重載的 sequence() 函數(shù)可能是最簡單的方式。
悲催的:
@jckarter @ericasadun,不幸的是,Dave 的解決方案不適用于序列化代碼,這代碼并不適用于控制反轉(zhuǎn)。
—— KS Sreeram (@kssreeram) 2016 年 8 月 10 日
本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán),最新文章請訪問 http://swift.gg。
總結(jié)
以上是生活随笔為你收集整理的Sequence 带来的更多乐趣的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle CPU使用率过高问题处理
- 下一篇: 字符串野指针 百练2681