From: IWAOKA Masahiro Date: 1998-06-19T17:53:22+09:00 Subject: [ruby-list:8428] Re: Can "initialize" be overrided? 岩岡です。 In message <199806190813.RAA04350@picachu.netlab.co.jp> matz@netlab.co.jp (Yukihiro Matsumoto) writes: > 調べてみました.実はArray.newが再定義されているのでnewの引数 > には整数(サイズ)しか渡せないのでした.うーむ. なるほど。理由がわかってちょっとすっきりしました。ありがとうござい ます。 > class ExtArray < Array # 仮名:-) > def ExtArray.new(data) new メソッドの定義では、こういう形をとるんですか。initialize では なく new の方を定義してやるわけですね。 > 別の発想としては継承を使わず,delegate.rbを使ってラップして > しまうという方法もあります. 直前の話であるにもかかわらず、同じところへ行きつくとは全然思ってま せんでした。これから勉強したいと思いますが、delegate のドキュメン トってあるのでしょうか? delegate.rb を読むしかないのかな。 > temp = [1, 3, 2, 5, 4] > data = SimpleDelegator.new(temp) これですと、特異メソッドとして定義しなければならないので、あまり嬉 しくないです (クラスにしたい)。 > これだとインスタンス変数も使えます.更に[ruby-list:8421]のよ > うな方法を使えばかなり良いんではないかと思います. こちらをよく読んでみます。 いわおか