From: fluff@... Date: 2020-11-29T23:40:58+00:00 Subject: [ruby-core:101145] [Ruby master Feature#8421] add Enumerable#find_map and Enumerable#find_all_map Issue #8421 has been updated by modulitos (Lucas Swart). matz (Yukihiro Matsumoto) wrote in #note-1: > 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. In Ruby 2.7, I think we can use `enumerable.lazy.filter_map{..}.first` as an equivalent for `.find_map{..}` matz (Yukihiro Matsumoto) wrote in #note-1: > 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-88830 * Author: Hanmac (Hans Mackowiak) * Status: Feedback * Priority: Normal ---------------------------------------- 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 -- https://bugs.ruby-lang.org/ Unsubscribe: