
class Integer

  # Like #times but returns a collection of the yield results.
  #
  #   a = 3.of { |i| "#{i+1}" }
  #   a => [ "1", "2", "3" ]
  #
  def of(&yld)
    a = []; self.times{ |i| a << yld.call(i) }
    a
  end

end


#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCInteger < Test::Unit::TestCase

    def test_of
      a = 4
      b = a.of{ |i| i*2 }
      assert_equal( [0,2,4,6], b )
    end

  end

=end
