前田です。 In message "[ruby-list:3996] Re: Object#id <=> Fixnum#id2object ? (Re: SyslogSendmail class)" Yukihiro Matsumoto <matz / netlab.co.jp> wrote: |ないのでそのままになっています.それはそうと,もともとの問題 |に関しては定数を経由することをお勧めします. なるほど。 実はこんなことがしたかったのでした。 class Class def slot(name, default, writable = FALSE) attr name, writable if name.is_a? Fixnum name = name.id2name end slot_initializer = Module.new slot_initializer.module_eval %{ DEFAULT = default def initialize super @#{name} = DEFAULT end } include slot_initializer end end class Foo slot :bar, ["bar"] slot :baz, /^baz/ end foo = Foo.new p foo.bar p foo.baz slotの呼び出し毎にモジュールが一個作られるという贅沢さ(^^; rubyだとattr_accessorのたぐいもユーザーが簡単に定義できちゃいますね。 # 最近こんなのばっかりやってるような...。 -- 前田 修吾