-
[Swift] zip(_:_:)Swift 2022. 1. 14. 23:28
Generic Function
zip( _ : _ :)
λ κ°μ μνμ€λ‘ λ ν μμ μνμ€λ₯Ό μμ±νλ€.
Declaration
func zip<Sequence1, Sequence2>(_ sequence1: Sequence1, _ sequence2: Sequence2) -> Zip2Sequence<Sequence1, Sequence2> where Sequence1 : Sequence, Sequence2 : SequenceParameters
sequence1zipν 첫λ²μ§Έ μνμ€ λλ 컬λ μ
sequence2zipν λλ²μ§Έ μνμ€ λλ 컬λ μ
Return Value
κ° μμ μμκ° sequence1κ³Ό sequence2μ λμλλ νν μμ μνμ€κ° 리ν΄κ°μ΄λ€.
Discussion
μ΄ ν¨μμ μν΄ λ°νλλ Zip2Sequence μΈμ€ν΄μ€μμ iλ²μ§Έ μμ μμλ€μ κ° κΈ°λ³Έ μνμ€μ iλ²μ§Έ μμμ΄λ€. λ€μ μμ μμλ zip( _ : _ :) ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄ λ°°μ΄κ³Ό μΉ΄μ΄νΈ κ°λ₯ν λ²μλ₯Ό λμμ for λ¬Έμ ν΅ν΄ 체ν¬νλ€.
let words = ["one", "two", "three", "four"] let numbers = 1...4 for (word, number) in zip(words, numbers) { print("\(word): \(number)") } // Prints "one: 1" // Prints "two: 2 // Prints "three: 3" // Prints "four: 4"γ €
γ €λ§μ½ zip( _ : _ :)μΌλ‘ μ λ¬λ λ μνμ€λ€μ΄ λ€λ₯Έ κΈΈμ΄λ₯Ό κ°κ³ μλ€λ©΄, κ²°κ³Ό μνμ€λ μ§§μ μνμ€μ κΈΈμ΄κ° κ°μ κ²μ΄λ€. μ΄ μμ μμλ κ²°κ³Ό λ°°μ΄μ wordsμ κ°μ κΈΈμ΄λ₯Ό κ°κ³ μλ€.
let naturalNumbers = 1...Int.max let zipped = Array(zip(words, naturalNumbers)) // zipped == [("one", 1), ("two", 2), ("three", 3), ("four", 4)]γ €
γ €'Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] κ³ μ°¨ν¨μ (map, filter, reduce) (0) 2022.01.20 [Swift] λ¨λ½ νκ° (Short-circuit Evaluation), Side Effect (0) 2022.01.20 [Swift] Objected Oriented Programming in Swift (raywenderlich λ²μ) (0) 2022.01.13 [Swift] μ΄λ¦ μ μ κ·μΉ (Naming Convention) (0) 2022.01.13 [Swift] Control Transfer Statements (break, continue) (μ μ΄ μ λ¬λ¬Έ) (0) 2022.01.12