むとうです。
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>