2009-03-31 15 views
27

Ruby'de map! or collect! yöntemine Linq eşdeğeri nedir? daha zarif Linq çözüm olsaydıLinq Haritası! veya toplayın!

a = [ "a", "b", "c", "d" ] 
    a.collect! {|x| x + "!" } 
    a    #=> [ "a!", "b!", "c!", "d!" ] 

Ben bir foreach ile koleksiyonu üzerinde yineleme tarafından bu yapabilirdi ama merak ettim.

+0

Linq genellikle bir in-yer yapmayacağım böylece işlevsel bir yaklaşım: durumunda

diğer yüksek dereceli fonksiyonlar böyle patlak meraklı Yukarıdaki örnekte olduğu gibi değişiklik. Ancak, bu haritanın beklenen kullanımıyla daha çok eşleşir ve yakutta toplanır (!) –

cevap

38

ilk =

var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");