La création dynamique de classe en Ruby

J'ai une classe qui doit ressembler à quelque chose comme ceci:

class Family_Type1
    @people = Array.new(3)
    @people[0] = Policeman.new('Peter', 0)
    @people[1] = Accountant.new('Paul', 0)
    @people[2] = Policeman.new('Mary', 0)

    def initialize(*ages)
        for i in 0 ... @people.length
            @people[i].age = ages[i]
        end
    end
end

Je veux être en mesure de définir un tas de classes similaires à celui-ci au moment de l'exécution (définir une seule fois au démarrage) où la taille de la matrice et le type attribué à chaque paramètre est défini au moment de l'exécution de l'extérieur de la spécification de fichier.

J'ai réussi à le faire fonctionner à l'aide est évaluée comme mais c'est vraiment laid. Une meilleure façon?

OriginalL'auteur | 2009-02-23