まぁ、そういった場合は send を使えばいいのだけど。
>> class Foo >> private >> def foo; p "foo"; end >> end => nil >> n=Foo.new => # >> n.foo NoMethodError: private method `foo' called for # from (irb):6 from /Users/honyarara/.rbenv/versions/2.0.0-p247/bin/irb:12:in `' >> n.send(:foo) "foo" => "foo"
C++だったら、ここらへんどうあつかったらいいのかな。。。『メタプログラミングRuby』は、オブジェクトモデルを骨子に据えて、 Ruby におけるメタプログラミングのデザインパターンを、シナリオ風に提起したもので、とてもよかったです。
0 件のコメント:
コメントを投稿
何かありましたら、どうぞ: