[ruby] переопределить конструктор наследника стандартного кл
От: DemAS http://demas.me
Дата: 16.09.09 06:12
Оценка:
Есть класс — наследник Array; хочется переопределить его конструктор,
добавив туда один параметр, но так, чтобы не потерять все возможности
инициализации от стандартного класса.

То есть, сейчас примерно так:

class Array2D < Array
  def set_x(x)
    @x = x
  end
  def [] (x, y)
    return super(y * @x + x)
  end  
end

a = Array2D.new(10) { |i| i }
a.set_x(2)
puts a[1, 1]


@x — размерность массива по горизонтали.

Хочется передавать это значение не через вызов отдельного метода set_x(), а
в конструкторе.

Что-то там:

def initialize(......, x)
    super(.....)
    @x = x
end


Как это можно сделать ?
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.