# File lib/backports/1.8.7/enumerable.rb, line 214 def take(n) n = Backports.coerce_to_int(n) raise ArgumentError, "attempt to take negative size: #{n}" if n < 0 [].tap do |array| each do |elem| array << elem break if array.size >= n end unless n <= 0 end end