neves
4/2/2009 - 5:10 PM

class-vars.rb

# estou estudando variaveis de classe e para entender corretamente seu comportamento,
# criei uma variavel que deveria contar quantas vezes a classe foi criada,
# mas gostaria que tivesse um contador para cada classe, de modo que se eu criar um animal,
# o contador incrementa apenas para a classe Animal, mas se eu criar um Gato, o contador incrementa
# para a classe Gato e para a classe Animal também.

class Animal
  @@total = 0

  def self.total
    @@total
  end

  def initialize
    @@total += 1
  end
end

class Gato < Animal

end

Animal.new
Gato.new

puts Animal.total
puts Gato.total # deveria ser 1 e não 2