Ruby - Scope of Constants

Introduction

Constants are defined within the scope of the current class and are made available to all child classes, unless they're overridden.

For example:

Demo

Pi = 3.141592 

class OtherPlanet 
  Pi = 4.5 # from  w  ww  .j  av a 2  s  . co  m
  def OtherPlanet.circumference_of_circle(radius) 
    radius * 2 * Pi 
  end 
end 

puts OtherPlanet.circumference_of_circle(10) 
puts OtherPlanet::Pi 
puts Pi

Result

Here, the code demonstrates that constants have scope within the context of classes.

The OtherPlanet class has its own definition of Pi.

Related Topic