Есть ли в Ruby метод, противоположный find?
-
27-10-2019 - |
Вопрос
Есть ли какой-либо метод, который находит первый элемент, для которого блок возвращает false?
родовое словоДругими словами, он будет вести себя так же, как:
родовое словоРешение
Там нет , но вы можете создать его любым простым способом: родовое слово
... или ужасно забавный способ взлома:
родовое слово... или кратким, но ужасно опасным способом:
родовое словоНо я бы посоветовал просто пропустить сложное использование кодового кода и сказать то, что вы хотите:
родовое словоДругие советы
Насколько я могу судить, стандартного метода для этого не существует (учитывая, что find_all и reject ссылаются друг на друга, но find ни на что не ссылается).Если вам это нужно часто (особенно, если отклонение происходит слишком медленно), вы можете написать свой собственный
родовое словоЕсли вы используете Ruby 2.0, вы можете выполнять генерацию кода кода без потери производительности, связанной с просмотром всего массива.