In Ruby, c'è qualche differenza tra le funzionalità di each
, map
e collect
?Qual è la differenza tra la mappa, ciascuna e la raccolta?
55
A
risposta
107
each
è diverso da map
e collect
, ma map
e collect
sono gli stessi (tecnicamente map
è un alias per collect
, ma nella mia esperienza map
è usato molto più spesso).
each
esegui blocco chiusa per ciascun elemento del (Enumerable
) Ricevitore:
[1,2,3,4].each {|n| puts n*2}
# Outputs:
# 2
# 4
# 6
# 8
map
e collect
produrre un nuovo Array
contenente i risultati del blocco applicato a ciascun elemento del ricevitore:
[1,2,3,4].map {|n| n*2}
# => [2,4,6,8]
C'è anche map!
/collect!
definito su Array
s; modificano il ricevitore al suo posto:
a = [1,2,3,4]
a.map {|n| n*2} # => [2,4,6,8]
puts a.inspect # prints: "[1,2,3,4]"
a.map! {|n| n+1}
puts a.inspect # prints: "[2,3,4,5]"
21
Each
valuterà il blocco, ma getta via il risultato della valutazione Each
del blocco e restituisce la matrice originale.
irb(main):> [1,2,3].each {|x| x*2}
=> [1, 2, 3]
Map
/collect
ritorno un array costruito come il risultato della chiamata al blocco per ogni elemento dell'array.
irb(main):> [1,2,3].collect {|x| x*2}
=> [2, 4, 6]
Problemi correlati
- 1. Qual è la differenza tra = e: =
- 2. Qual è la differenza tra Verilog! e ~?
- 3. Qual è la differenza tra? : e ||
- 4. qual è la differenza tra [[], []] e [[]] * 2
- 5. Qual è la differenza tra $ e $$?
- 6. Qual è la differenza tra ("") e (null)
- 7. Qual è la differenza tra dict() e {}?
- 8. Qual è la differenza tra " " e ""?
- 9. Qual è la differenza tra {0} e ""?
- 10. Qual è la differenza tra `##` e `hashCode`?
- 11. Qual è la differenza tra {0} e +?
- 12. Qual è la differenza tra .ToString() e + ""
- 13. qual è la differenza tra:.! e: r !?
- 14. Qual è la differenza tra la raccolta di CookieContainer e Response.Cookies?
- 15. Unix: Qual è la differenza tra la fonte e l'esportazione?
- 16. Qual è la differenza tra il callback e la promessa
- 17. Qual è la differenza tra la sezione .got e .got.plt?
- 18. Qual è la differenza tra la lista() e []
- 19. Qual è la differenza tra GHC e la piattaforma Haskell?
- 20. Qual è la differenza tra sé e la finestra?
- 21. Qual è la differenza tra la cartella vim72 e vimfiles?
- 22. Qual è la differenza tra la serratura e RLock
- 23. Qual è la differenza tra la funzione() {}() e function() {}()
- 24. Qual è la differenza tra la crittografia SHA e AES?
- 25. Qual è la differenza tra la [OptionalField] e [NonSerialized]
- 26. Qual è la differenza tra il set <pair> e la mappa in C++?
- 27. Qual è la differenza tra la mappa e applica in schema?
- 28. Qual è la differenza tra XElement e XDocument?
- 29. Qual è la differenza tra PreserveReferencesHandling e ReferenceLoopHandling in Json.Net?
- 30. Qual è la differenza tra job.submit e job.waitForComplete in hadoop?
mappa è la versione scelta dalla community https://github.com/bbatsov/ruby-style-guide#map-fine-select-reduce-size –