Sha256: a0120bf65fb9dddff512cb39cdece29b9646d983bafd6a8e9ba4688f415997c7

Contents?: true

Size: 720 Bytes

Versions: 12

Compression:

Stored size: 720 Bytes

Contents

# frozen_string_literal: true

class DataTable
  attr_reader :rows_count, :cols_count

  # Конструктор, принимает 2D Array
  def initialize(table)
    self.rows_count = table.size
    max_cols = 0
    table.each { |row| max_cols = row.size if row.size > max_cols }
    self.cols_count = max_cols
    self.table = table
  end

  # Получить значение в ячейке [row, col]
  def get_item(row, col)
    return nil if row >= rows_count
    return nil if col >= cols_count

    table[row][col].dup
  end

  def to_2d_array
    table.dup
  end

  def to_s
    "DataTable (#{rows_count}x#{cols_count})"
  end

  private

  attr_accessor :table
  attr_writer :rows_count, :cols_count
end

Version data entries

12 entries across 12 versions & 5 rubygems

Version Path
shnaider_carproj-0.1.0 lib/repositories/containers/data_table.rb
rybish_code-1.1.4 lib/source/repositories/containers/data_table.rb
shnaider_code-1.1.6 lib/source/repositories/containers/data_table.rb
papaSquidLib-0.1.0 lib/repositories/containers/data_table.rb
shnaider_code-1.1.5 lib/source/repositories/containers/data_table.rb
rubbish_code-1.1.4 lib/source/repositories/containers/data_table.rb
rubbish_code-1.1.3 lib/source/repositories/containers/data_table.rb
rubbish_code-1.1.2 lib/source/repositories/containers/data_table.rb
rubbish_code-1.1.1 lib/source/repositories/containers/data_table.rb
rubbish_code-1.1.0 lib/source/repositories/containers/data_table.rb
rubbish_code-1.0.0 lib/source/repositories/containers/data_table.rb
rubbish_code-0.1.4 lib/source/repositories/containers/data_table.rb