yurko
12/21/2015 - 11:23 AM

constant lookup order

constant lookup order

module Kernel
  A = B = C = D = E = F = "from kernel"
end
 
A = B = C = D = E = "from toplevel"
 
class Super
  A = B = C = D = "from superclass"
end
 
module Included
  A = B = C = "from included module"
end
 
module Enclosing
  A = B = "from enclosing module"
 
  class Local < Super
    include Included
 
    A = "defined locally"
 
    puts A  # "defined locally"
    puts B  # "from enclosing module"
    puts C  # "from included module"
    puts D  # "from superclass"
    puts E  # "from toplevel"
    puts F  # "from kernel"
  end
end