Mega Code Archive

 
Categories / Ruby / Class
 

Controlling Access by Making Methods Private

class MyNumber   def initialize     @secret = rand(20)   end   def hint     puts "The number is #{"not " if secret <= 10}greater than 10."   end   private   def secret     @secret   end end s = MyNumber.new s.secret s.hint class OurNumber < MyNumber   def hint     lower = secret-rand(10)-1     upper = secret+rand(10)+1     "The number is somewhere between #{lower} and #{upper}."   end end ls = OurNumber.new ls.hint # => "The number is somewhere between -3 and 16." ls.hint # => "The number is somewhere between -1 and 15." ls.hint # => "The number is somewhere between -2 and 16."