From: "matz (Yukihiro Matsumoto)" Date: 2013-05-18T18:53:08+09:00 Subject: [ruby-core:55049] [ruby-trunk - Feature #8421][Feedback] add Enumerable#find_map and Enumerable#find_all_map Issue #8421 has been updated by matz (Yukihiro Matsumoto). Status changed from Open to Feedback Could you tell me a concrete use-case of your find_map and find_all_map? Usually a block for find/find_all gives boolean so that I personally have never wanted the return value from it. Matz. ---------------------------------------- Feature #8421: add Enumerable#find_map and Enumerable#find_all_map https://bugs.ruby-lang.org/issues/8421#change-39420 Author: Hanmac (Hans Mackowiak) Status: Feedback Priority: Normal Assignee: Category: Target version: currently if you have an Enumerable and you want to return the return value of #find you need eigther: (o = enum.find(block) && block.call(o)) || nil or enum.inject(nil) {|ret,el| ret || block.call(el)} neigher of them may be better than an directly maked method same for #find_all_map enum.lazy.map(&:block).find_all{|el| el} it may work but it is not so good -- http://bugs.ruby-lang.org/