Спасибо за умение пользовательского итератора. Действительно полезный и поучительный ответ!
вая, что у меня есть массив в Swift, такие как[1,2,3,4]
, методpairs()
преобразует его в массив кортежей:[(1,2), (2,3), (3,4)]
.
Вот еще несколько примеров того, какpairs()
должен вести себя:
pairs([])
должен вернуться[]
так как у него нет пар.pairs([1])
должен также вернуться[]
, так как у него нет пар.pairs([1,2])
должно быть[(1,2)]
, У него всего одна пара.Я могу написать код, чтобы сделать это дляArray
, но я бы хотел иметьpairs()
доступно как расширение наSequence
, так что он возвращаетSequence
пар. Это сделает его пригодным для использования в любой последовательности и совместимым с такими методами, какmap
, reduce
, filter
, и т.д.
Как мне создатьSequence
нравится? И как мне написать метод для преобразования любогоSequence
таким образом, чтобы его можно было использовать максимально гибко?