From: "NAKAMURA, Hiroshi" Date: 2002-02-25T20:48:39+09:00 Subject: [ruby-dev:16071] Re: New Struct なひです。[ruby-dev:16067]で「外からは見えない型」とか 書いてますが、よく考えたらRubyにそんなものはないのでした。 private inner classはなくてもいい気がしてきてますが、 package privateなmodule/classはあるとうれしいなぁ。 ToDoにあるのはこれのことかしらん。 > From: Shin-ichiro HARA [mailto:sinara@blade.nagaokaut.ac.jp] > Sent: Monday, February 25, 2002 7:02 PM > こういうのもあるかな。 > > class Hash > def to_struct > Struct.new(nil, *keys)[*values] > end > end > foo = {:name => "matz", :age => 104}.to_struct > p [foo.name, foo.age] #=> ["matz", 104] おおお。Struct.new[]はもう取られてたんですね。。。 http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Struct かっこいい。 これを見て思い出しましたが、原さん最初の案の特異メソッド形式や 上記の無名クラス方式で唯一気になるのは、 Marshal.dumpできないことでしょうか。 今回想定している用途ならいいか別に。。。