[ruby-list:41656] Re: Hashを継承したクラスの利用方法について

From: Kazuhiko <kazuhiko@...>
Date: 2005-12-04 13:46:54 UTC
List: ruby-list #41656
かずひこです。

At Sun, 4 Dec 2005 22:22:50 +0900,
saitani wrote:

> Hashを継承したクラス(Hash2)を定義したとして、
> これを利用する場合ですが、
> 
> (1)wHoge=Hash2.new
> (2)wHoge={}
> 
> (2)の方法でこのHash2のインスタンスを生成する方法は
> あるのでしょうか??

Hash.[] が継承されるので、以下のような感じでできます。

class Hash2 < Hash; end
wHoge = Hash2[1=>2, 3=>4]
p wHoge.class #=> Hash2
p wHoge #=> {1=>2, 3=>4}

同様に Array を継承すると Array.[] が継承されるので、以下のようなこともで
きます。

class Array2 < Array; end
wFuga = Array2[1, 2, 3, 4]
p wFuga.class #=> Array2
p wFuga #=> [1, 2, 3, 4]
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  「恋とハックはアジャイルが命!」

In This Thread