0
코드를 작성하여 실행 길이 인코딩 및 디코딩을 수행했습니다. 배열에 대한 확장에서 메서드로 인코딩 기능을 가지고 있지만 유사한 방식으로 디코딩을 할 수는 없습니다. 이것이 가능한가? 확장 기능에 새로운 제네릭 유형을 도입 할 수있는 방법을 찾을 수 없습니다.일반 자유 기능을 배열 확장으로 변환
func runLengthDecode<T: Equatable>(_ runLengthEncoding: [(element: T, count: Int)]) -> [T] {
return runLengthEncoding.flatMap{ repeatElement($0.element, count: $0.count)}
}
이 함수가 Array의 메소드이기를 바랍니다. 의 라인을 따라 뭔가 :
는extension Array<T> where Element == (element: T, count: Int) {
func runLengthDecode() -> [T] {
return self.flatMap{ repeatElement($0.element, count: $0.count)}
}
}
뜨아, 나도 몰라 어떻게 이것을 놓쳤다! – Alexander