summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/enum.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/mrblib/enum.rb b/mrblib/enum.rb
index 666ada294..29422716c 100644
--- a/mrblib/enum.rb
+++ b/mrblib/enum.rb
@@ -199,7 +199,12 @@ module Enumerable
#
# ISO 15.3.2.2.11
def inject(*args, &block)
- raise ArgumentError, "too many arguments" if args.size > 2
+ raise ArgumentError, "too many arguments" if args.size > 3
+ if Symbol === args[-1]
+ sym = args[-1]
+ block = ->(x,y){x.send(sym,y)}
+ args.pop
+ end
if args.empty?
flag = true # no initial argument
result = nil
@@ -218,6 +223,7 @@ module Enumerable
}
result
end
+ alias reduce inject
##
# Alias for collect