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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Good Creative Academy

    Good Creativ

    19 Kasım 2009
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007