Jaka jest najszybsza metoda w Ruby, aby uzyskać pierwszy przeliczalny element, dla którego blok zwraca wartość true?Jaka jest najszybsza metoda w Ruby, aby uzyskać pierwszy przeliczalny element, dla którego blok zwraca wartość true?
Na przykład:
arr = [12, 88, 107, 500]
arr.select {|num| num > 100 }.first # => 107
Chciałbym to zrobić bez przebiegającej przez całą tablicę, jak select
woli, ponieważ muszę tylko pierwszy mecz.
Wiem, że mogłem zrobić each
i złamać na sukces, ale myślałem, że był rodzimej metody do tego; Po prostu nie znalazłem tego w dokumentacji.
+1, zupełnie zapomniałem o 'find', duh. –
Ah! "find" to metoda, którą starałem się zapamiętać. Głupio mi, patrzyłem na dokumenty dla 'Array', a nie' Enumerable'. –
znany również w świecie Ruby jako "wykryj" – tokland