SORU
10 Mart 2011, PERŞEMBE


Harita arasındaki fark Ruby ve toplamak?

Bu Google'dan araştırdım ve çelişkili görüşler - aslında map bir işin ve Ruby/Rails Bir dizide collect yapmak arasında herhangi bir fark var mı? / yamalı var

docs herhangi bir tavsiye gibi görünmüyor, ama belki yöntem veya performans farkı var mıdır?

CEVAP
10 Mart 2011, PERŞEMBE


Aslında map rb_ary_collect enum_collect C olarak uygulanır (örn. fark yok başka bir numaralama üzerinde bir dizi map arasında bir fark, ama map collect) arasında fark yoktur.


Neden map collect hem de Ruby var mı?map işlevi, farklı dillerde birçok adlandırma kuralları vardır. 21**:

Harita işlevi kökenli fonksiyonel programlama diller ama bugün desteklenen (veya olabilir tanımlı) birçok prosedürel, nesne tabanlı ve çok paradigma dil olarak C 'nin Standart Şablon Kütüphanesi, denir transform C# (3.0)'nın SERİ kütüphane, sunulan bir uzantısı yöntemi denir Select. Göster de Perl, Python ve Ruby gibi üst düzey dillerde sık kullanılan bir işlemdir; operasyonu map denir bu dilleri üç.Göster ** 14 bir diğer adı da Ruby sağlanan (Smalltalk)[vurgu benim]. Common Lisp göster-gibi fonksiyonları bir aile sağlar; bir davranış, burada anlatılan karşılık mapcar (araba erişim ARABA operasyonunu kullanarak belirtir).

Ruby, Smalltalk dünyadan programcılar için bir takma ad daha çok evinizde hissetmenizi sağlar.


Neden diziler ve numaralamalar için farklı bir uygulama var mı?Bir numaralama bir genel yineleme yapısı, başka bir deyişle, yok olan Ruby tahmin edebilirsiniz ne bir diğer etmen de olabilir (tanımlayabilirsiniz sonsuz çeteleler, Prime örnek). Bu nedenle bir fonksiyonu birbirini izleyen her bir elemanı (genellikle bu each yöntem olacaktır) almak için arayın.

Diziler kendi performansını optimize etmek için makul yani en yaygın koleksiyon. Ruby dizileri nasıl çalıştığı hakkında çok şey bildiği için each aramak zorunda değil ama sadece basit kullanabilir önemli ölçüde daha hızlı olan pointer manipulation.

Benzer iyileştirmeleri zip count gibi bir Dizi yöntemler için bir dizi var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • campos9896

    campos9896

    24 Mart 2012
  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011