method
build
ruby latest stable - Class:
Matrix
build(row_count, column_count = row_count)public
Creates a matrix of size row_count x column_count. It fills the values by calling the given block, passing the current row and column. Returns an enumerator if no block is given.
m = Matrix .build (2, 4) {|row , col| col - row } => Matrix [[0, 1, 2, 3], [-1, 0, 1, 2]] m = Matrix .build (3) { rand } => a 3x3 matrix with random elements
# File lib/matrix.rb, line 95
def Matrix.build(row_count, column_count = row_count)
row_count = CoercionHelper.coerce_to_int(row_count)
column_count = CoercionHelper.coerce_to_int(column_count)
raise ArgumentError if row_count < 0 || column_count < 0
return to_enum :build, row_count, column_count unless block_given?
rows = Array.new(row_count) do |i|
Array.new(column_count) do |j|
yield i, j
end
end
new rows, column_count
end