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

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • NYLON Video

    NYLON Video

    11 Aralık 2006
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013