# File lib/backports/1.9.2/stdlib/matrix.rb, line 185
  def Matrix.build(row_size, column_size = row_size)
    row_size = CoercionHelper.coerce_to_int(row_size)
    column_size = CoercionHelper.coerce_to_int(column_size)
    raise ArgumentError if row_size < 0 || column_size < 0
    return to_enum(:build, row_size, column_size) unless block_given?
    rows = Array.new(row_size) do |i|
      Array.new(column_size) do |j|
        yield i, j
      end
    end
    new rows, column_size
  end