むとうです。

Object#instance_eval()を使って定義したメソッドをprivate
にしたいのですが、そのようなことはできますでしょうか。

具体的には以下のようなことがやりたいと考えています。
#instance_evalするメソッドはpublic/protected/private混在

class Test
   def initialize(m)
      instance_eval(m)
   end
   private
   def baz
     p "baz"
   end
end
                                                                                 
a = Test.new(%Q[
def hoge
  p "hoge"
end
                                                                                 
private       #ruby 1.8.0 (2003-09-02) [i686-linux]ではここでエラー
def foo
  p "foo"
end
])


-- 
.:% Masao Mutoh<mutoh / highway.ne.jp>