Backend/Ruby
Rubyμ map vs each
Seyun(Marco)
2021. 6. 26. 09:30
728x90
Rubyμ map vs each
π§ λ κ°μ κ°μ₯ ν° μ°¨μ΄μ
- λ κ°μ κ°μ₯ ν° μ°¨μ΄μ μ μλ‘μ΄ λ°°μ΄ λ°ν μ¬λΆμ λλ€.
- mapμ μλ‘μ΄ λ°°μ΄μ λ°ννκ³ , eachλ μλ‘μ΄ λ°°μ΄μ λ°ννμ§ μμ΅λλ€.
- κ°λ¨ν μμ λ₯Ό ν΅ν΄ μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€
1οΈβ£ map
names = [ "Dan", "Stella", "Elly" ]
upcase_names = names.map { |name| name.upcase }
puts names // [ "Dan", "Stella", "Elly" ]
puts upcase_names // [ "DAN", "STELLA", "ELLY" ]
- mapμ μλ‘μ΄ λ°°μ΄μ λ°ννκΈ° λλ¬Έμ λ³νλ κ°μ΄ λμ€λκ±Έ νμΈν μ μμ΅λλ€.
- μ¦, μλ λ°°μ΄μ λ³ννμ§ μλ μ₯μ μ΄ μμ΅λλ€.
- μλ λ°°μ΄λ κ°μ΄ λ³κ²½νκ³ μΆλ€λ©΄
map!
μ μ¬μ©νλ©΄ λ©λλ€.
names = [ "Dan", "Stella", "Elly"]
names.map! { |name| name.upcase }
puts names // [ "DAN", "STELLA", "ELLY" ]
2οΈβ£ each
names = [ "Dan", "Stella", "Elly" ]
upcase_names = names.each { |name| name.upcase }
puts names // [ "Dan", "Stella", "Elly" ]
puts upcase_names // [ "Dan", "Stella", "Elly" ]
- eachλ λ°ννμ§ μκΈ° λλ¬Έμ λμ΄ λμΌν κ°μ΄ λμ€λκ±Έ νμΈν μ μμ΅λλ€.
3οΈβ£ collect
- mapκ³Ό λμΌν κΈ°λ₯μ νλ collectλ μμ΅λλ€.
names = [ "Dan", "Stella", "Elly" ]
upcase_names = names.collect { |name| name.upcase }
puts names // [ "Dan", "Stella", "Elly" ]
puts upcase_names // [ "DAN", "STELLA", "ELLY" ]
728x90
728x90