まつもと ゆきひろです.
In message "[ruby-list:1452] サブクラスの作成再び"
on 96/12/24, Sinichiro Dezawa <dezawa / miya.fujifilm.co.jp> writes:
|
|出沢です
|Array で大体済むのだが、新しいmethodを定義した方が楽・きれいそう
|ということで
|
|class Reserved < Array
|
|を作ったのですが、このインスタンスが作れない。
Arrayのサブクラスを作ると言うのはオブジェクト指向にはかなっ
ているのですが,rubyではお勧めしません.ビルトインクラスのサ
ブクラスを作るのはrubyの実装に関する知識が必要ですから.
ですから
In message "[ruby-list:1454] Re: サブクラスの作成 再び"
on 96/12/24, Shin-ichiro Hara <sinara / blade.nagaokaut.ac.jp> writes:
|私の知っていいる範囲では、
|
|(1)組み込みクラスおよびそのサブクラスはインスタンス変数を持てない。
|(2)組み込みクラスおよびそのサブクラスの new 時には initialize メ
| ソッドは呼ばれない。
|
|という Tips(?) があります。他にこの手のものあるかな?
ということになるのだとおもいます.
|組み込みクラス に新しい method をつくるために、サブクラスを
|作ったとき、そのインスタンスはどうやったら(初期化しながら)
|作れるのですか?
一般的な方法は無いです.まあ,この場合には
reservList = Reserved[ "9a","9a","9a","9a" ]
という逃げがありますが,やっぱりinitializeは呼ばれません.内
容が[ "9a","9a","9a","9a" ]のReservedクラスのインスタンスが
できるだけです.
|そう言えば、cast はない?
castってのは変数に型がある言語でだけ有効だと思うのですが.
明示的な型変換は
Integer()
Float()
String()
があります.
まつもと ゆきひろ /:|)