¾ç¨ç

Ruby 1.9.2eletgateClassprotected¡ã¥¹¼ãºã®æµõåá¸ç¡¢²å£ïåá¡×åá¥òåá¨å£ëåâ°å¡æåᥩð¨¶å¡èåâ¶å¢°åᥡ 
.9.2ä»å¤²èÖ¶åá¸å¡âåá¡×åáÞ墪åá¨å¡æ§ã 

¥¢¼ã¥±¯ä»¥ä¸¢°åᥣåá´å£êåᥡåáÒå

require 'delegate'

class Foo
   protected
   def foo
     'foo'
   end
end

class Bar < DelegateClass(Foo)
   def initialize
     super Foo.new
   end

   def baz
     foo
   end
end

p Bar.new.baz


% ruby19 -v
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.7.0]
% ruby19 binding.rb
"foo"

% ruby_trunk -v
ruby 1.9.2dev (2009-07-19 trunk 24201) [i386-darwin9.7.0]
% ruby_trunk binding.rb
binding.rb:16:in `baz': protected method `foo' called for #<Foo: 
0x2d01b8> (NoMethodError)
	from binding.rb:20:in `<main>'


--
Akira Matsuda<ronnie / dio.jp>