はじめまして、岩岡と申します。
perl の object 拡張がよくわからんと思ってたところに ruby を知って
飛びついた ruby 初心者です。
いじってるうちにはまってしまったので教えていただきたいのですが、
initialize メソッドはオーバーライドできないのでしょうか?
Array クラスを継承してメソッドを付け加えたクラスをつくりまして、既
存の配列で初期化したいと考え、
class ExtArray < Array # 仮名:-)
def initialize(data)
while i < data.size
self[i] = data[i]
i = i + 1
end
end
|
end
としてみたのですが、
temp = [1, 3, 2, 5, 4]
data = ExtArray.new(temp)
と呼び出すと Array クラスの initialize が呼び出されるようで、配列
を int にはできないよといったメッセージが出ます。
仕方ないので initialize メソッドを定義するのは止めて、
temp = [1, 3, 2, 5, 4]
data = StatArray[*temp]
として逃げたのですが、こうするしか無いのでしょうか?
いわおか