SORU
4 Mart 2010, PERŞEMBE


Ruby Dizi find_first nesne?

Dizi belgelerinde bir şey mi kaçırdım? Bir nesne belli bir kriter tatmin edici içeren bir dizi var. Verimli bir şekilde bu nesneyi bulmak istiyorum. Doktorlar gelen en iyi fikir bu

candidates = my_array.select { |e| e.satisfies_condition? }
found_it = candidates.first if !candidates.empty?

Ama ben tatmin için iki nedeni vardır: (1) select yaptı bana traverse bütün dizi bile yapabiliriz kaçtı sonraki ilk vuruş, ve (2) gerekli bir kod satırı (bir durum) düzleştirmek için adaylar. Her iki işlem 0 olduğunu önbilgi veya 1 tatmin edici nesnelerle zarara neden oluyor.

İstediğim gibi bir şey:

array.find_first(block) ->cevaplar ya da engellemek doğru olarak değerlendirilen ilk nesneyi, o nesne de geçişi sonu yoktur.

Bunu kendim yazmak zorunda mıyım? Dizideki tüm diğer harika yöntemler bana var ve ben bunu göremiyorum.

Şimdiden teşekkürler, Dan

CEVAP
4 Mart 2010, PERŞEMBE


Ya soruyu anlamadım ya da Enumerable#find aradığınız şey.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Floortile83

    Floortile83

    16 Ocak 2010
  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Machinima

    Machinima

    17 Ocak 2006