よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

October 12, 2003 [おもひで]

[Ruby-GNOME2] 何のキーが押されたのか調べる

というTipsを書いてみた

[Ruby] Object#instance_eval

そういや昔も悩んだような気がするんだけど、こんな書き方ってできないのかなぁ。

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       #こいつがエラー
def foo
  p "foo"
end
])

希望としては、instance_evalに渡すメソッドにpublic/protected/privateの区別を付けたいんだよね。なんか良いアイデアあります?

でも、これ、エラーメッセージが

undefined local variable or method `private' for # (NameError)

なんだよなー。privateっつーメソッドは存在してるような気がするんだけどな...。

せっかくなのでlist-MLにメールしてみた。質問でMLにメールをするのは相変わらず緊張してしまうなぁ(^^;)。


編集