[Ruby] find_all

Eugene Scripnik Eugene.Scripnik at itgrp.net
Wed Aug 20 13:56:33 MSD 2003


SoNaR wrote:
> Hello Ruby,
> 
>   Как find_all возвращает себе результат условного оператора в блоке?
Посредством вызова yield, который возвращает результат последнего 
выражения в блоке:
a = [5, 4, 3, 2, 1, 0]

def a.find_all
     result = []
     self.each do |item|
         result << item if yield item
     end
     result
end

p a.find_all { |i| i > 3 } # => [5, 4]


-- 
Eugene Scripnik
IT Group
Software Architect
Tel./Fax +380 (372) 58-43-10
email: Eugene.Scripnik at itgrp.net
http://www.itgrp.net/




More information about the Ruby mailing list