backport flat_map for Ruby 1.8
Code is copied from https://github.com/marcandre/backports/blob/master/lib/backports/1.9.2/enumerable/flat_map.rb (MIT License by Marc-Andre Lafortune) Closes Homebrew/homebrew#42543. Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
parent
ae0e270727
commit
7c72b0c68a
11
Library/Homebrew/extend/enumerable.rb
Normal file
11
Library/Homebrew/extend/enumerable.rb
Normal file
@ -0,0 +1,11 @@
|
||||
module Enumerable
|
||||
def flat_map
|
||||
return to_enum(:flat_map) unless block_given?
|
||||
r = []
|
||||
each do |*args|
|
||||
result = yield(*args)
|
||||
result.respond_to?(:to_ary) ? r.concat(result) : r.push(result)
|
||||
end
|
||||
r
|
||||
end unless method_defined?(:flat_map)
|
||||
end
|
||||
@ -3,6 +3,7 @@ require "extend/fileutils"
|
||||
require "extend/pathname"
|
||||
require "extend/ARGV"
|
||||
require "extend/string"
|
||||
require "extend/enumerable"
|
||||
require "os"
|
||||
require "utils"
|
||||
require "exceptions"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user