From f3fb43c72979a68bbf3612e6c7a10ab4ba5f06e1 Mon Sep 17 00:00:00 2001 From: Christopher Aue Date: Sat, 26 Aug 2017 15:19:38 +0200 Subject: Reimplemented Array#flatten with #flatten! --- mrbgems/mruby-array-ext/mrblib/array.rb | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'mrbgems/mruby-array-ext') diff --git a/mrbgems/mruby-array-ext/mrblib/array.rb b/mrbgems/mruby-array-ext/mrblib/array.rb index 7146604d7..3b824ac0f 100644 --- a/mrbgems/mruby-array-ext/mrblib/array.rb +++ b/mrbgems/mruby-array-ext/mrblib/array.rb @@ -169,15 +169,9 @@ class Array # a.flatten(1) #=> [1, 2, 3, [4, 5]] # def flatten(depth=nil) - ar = [] - self.each do |e| - if e.is_a?(Array) && (depth.nil? || depth > 0) - ar += e.flatten(depth.nil? ? nil : depth - 1) - else - ar << e - end - end - ar + res = dup + res.flatten! depth + res end ## -- cgit v1.2.3