Ruby Dynamic Classes. Comment réparer "warning: class variable access de toplevel"

Je suis en train d'écrire un programme qui définit de manière dynamique ruby classes en fonction de lecture de configuration à partir d'un fichier. Je sais que je peux utiliser la Classe.de nouveaux pour cela. Voici un exemple de programme:

x = [1,2,3]

Test = Class.new do
  @@mylist = x

  def foo
    puts @@mylist
  end
end

Test.new.foo

Lorsque je l'exécute j'obtiens le résultat suivant (en cours d'exécution avec ruby 1.9.3p0):

c:/utils/test.rb:4: avertissement: variable de classe d'accès de niveau supérieur 
c:/utils/test.rb:7: avertissement: variable de classe d'accès de niveau supérieur 
1 
2 
3

Personne ne sait quelles sont les causes de ces avertissements et comment je peux me débarrasser d'eux?

J'ai essayé de remplacer la ligne tjhat ne

@@mylist = x

avec cette

class_variable_set(:@@mylist, x)

Mais quand je fais ça, j'obtiens cette erreur:

c:/utils/test.rb:7: avertissement: variable de classe d'accès de niveau supérieur 
c:/utils/test.rb:7:in `foo': uninitialized variable de classe @@maliste dans l'Objet (NameError) 
à partir de c:/utils/test.rb:11:in `

Merci d'avance!

source d'informationauteur yoda_alex