Transformar uma sequência Swift em pares adjacentes

Dado que eu tenho uma matriz no Swift, como[1,2,3,4], um métodopairs() irá transformá-lo na matriz de tuplas:[(1,2), (2,3), (3,4)].

Aqui estão mais alguns exemplos de comopairs() Deve se comportar:

pairs([]) deve retornar[] como não tem pares.pairs([1]) também deve retornar[], pois não possui pares.pairs([1,2]) deveria estar[(1,2)]. Tem apenas um par.

Eu posso escrever código para fazer issoArray, mas eu gostaria de terpairs() disponível como uma extensão emSequence, para que retorne umSequence dos pares. Isso o tornaria utilizável em qualquer sequência e compatível com métodos comomap, reduce, filter, etc.

Como faço para criar umSequence como isso? E como escrevo o método para transformar qualquerSequence desta maneira, para que possa ser usado da maneira mais flexível possível?

questionAnswers(1)

yourAnswerToTheQuestion