Yan etkiler sizin ters mühendislik için bazı karışıklığı ekleyerek hangi aynıdır.
Evet, her ikisi de dizi üzerinde yinelenir (aslında, Numaralandırılabilir'de karışan herhangi bir şeyin üzerinde ), ancak harita , blok sonuçlarından oluşan bir Dizi döndürürken, her biri orijinal Diziyi döndürür.
Dönüş değeri her sadece orijinal dizidir ve nadiren Yakut kodunda kullanılır, ancak harita biridir en önemli fonksiyonel araçlar .
Ne map
yapar, geçirilen bloğun veya adlandırılmış yöntemin sonuçlarını içeren bir dizi döndürmektir. Örneğin:
2.2.3 :001 > [:how, :now, :brown, :cow].map &:to_s
=> ["how", "now", "brown", "cow"]
Bu durumda bir bloğu geçmedim, sadece a Symbol
, ancak class Symbol
nesnelerin bir to_proc
yöntemi var ve sonuçta:
[:how.to_s, :now.to_s, ...]
BTW, çünkü belgeleri bulmakta zorlanıyorum olabilir harita bir yöntemdir Enumerable ise her (gerektirdiği bir yöntem Enumerable modülünde) bir yöntemdir Array .
Bir trivia notu olarak: harita uygulaması her birine dayanmaktadır .