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

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • tutvid

    tutvid

    19 AĞUSTOS 2006