./ruby/test/classvars4-2.rdoctest/classvars4-2.rb

download original
module M
  @@cv = 42
  def self.append_features(base)
    super
    base.extend(ClassMethods)
  end
 
  ClassMethods = Module.new do
    def cv
      @@cv
    end

    def cv=(x)
      @@cv=x
    end
  end
end


class C
  include M

  puts cv
  self.cv=23
  puts cv
end


class C2
  include M

  puts self.cv
end


class C3
  include M
end


puts C3.cv  # 42 (should be 23?)

C3.class_eval "self.cv=38"

puts C3.cv

  
back to classvars4-2.rdoctest

(C) 1998-2017 Olaf Klischat <olaf.klischat@gmail.com>