SORU
5 HAZİRAN 2011, Pazar


Hızlı Yakut dizi elemanın endeks

Verilen BÜYÜK bir dizi var, ve kesinlikle değer. Dizideki değer Endeksi almak istiyorum. Başka bir şekilde, daha sonra Array#index almak için çağrı var mı? Sorun gerçekten çok büyük bir dizi tutmak ve kez Array#index büyük miktarda arama ihtiyacı geliyor.

Birkaç denemeden sonra buldumönbelleğe almaperformansı büyük bir adım kendisi verir değeri yerine 3* *alanları ile yapılar depolayarak elemanları (20x kez kazanmak) içinde dizinler.

Eğer hala önbelleğe (ya da performansını artırmak olacak iyi bir önbelleğe alma tekniği var) olmadan en öğenin dizini bulmak daha kolay bir yolu varsa merak ediyorum.

CEVAP
5 HAZİRAN 2011, Pazar


Karma içinde dizi dönüştürmek. Sonra anahtarı arayın.

array = ['a', 'b', 'c']
hash = Hash[array.map.with_index.to_a]    # => {"a"=>0, "b"=>1, "c"=>2}
hash['b'] # => 1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • jagadambarecords

    jagadambarec

    13 AĞUSTOS 2008
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006