How to call a private method?
I have done one simple ruby code but it is really exclamatory for me....
irb(main):001:0> class Main
irb(main):002:1> private
irb(main):003:1> def fun
irb(main):004:2> puts "aa"
irb(main):005:2> end
irb(main):006:1> end
=> nil
irb(main):007:0> class Child < Main
irb(main):008:1> def gg
irb(main):009:2> fun
irb(main):010:2> end
irb(main):011:1> end
=> nil
irb(main):012:0> Child.new
=> #<Child:0x24a8b88>
irb(main):013:0> Child.new.gg
aa
but as Expected
irb(main):014:0> Main.new.fun
NoMethodError: private method `fun' called for #<Main:0x23ad950>
from (irb):14
from C:/Ruby200/bin/irb:12:in `<main>'
Any technical explanation will be appreciable thanks...
No comments:
Post a Comment