Источник: Nuances of Programming Вы когда-нибудь задумывались о том, что происходит при написании кода на самом деле? Я много думаю об этом. И, будучи разработчиком Ruby, часто использую в работе различные методы, фактически не зная, как они реализованы. В этой статье попробую подробно рассмотреть или, скорее, разобрать некоторые из них. Не буду приводить здесь оригинальную реализацию методов на языке Си, а постараюсь подробно описать ее с точки зрения Ruby. В мире Ruby очень трудно обойтись без коллекций и используемых в них методов. Один из таких методов — метод find, который возвращает первый элемент, удовлетворяющий заданному в блоке условию. А в случае отсутствия блока он возвращает сам перечислитель. marks = [40, 60, 34, 70]
marks.find{|a| a < 40}
=> 34 marks_by_subject = {
english: 40, maths: 60, physics: 34, chemistry: 70
}
marks_by_subject.find{|key,value| value < 40}
=> [:physics, 34] divisible_range = 1..5
divisible_range.find{|num| num % 2 == 0 }
=> 2 Кроме метода find