• [^] # Re: Et pourquoi pas...

    Posté par . En réponse au message Accéder à une variable par son nom. Évalué à 1.

    En ruby, il existe 4 types de variables:
    - variable local (var)
    - variable global ($var)
    - variable d'instance (@var)
    - variable de classe (@@var)

    Dans l'exemple au-dessus, j'utilise des variables d'instance qui sont rattachées à l'objet spécial "main" qui correspond au contexte d'exécution du programme. Ça revient au même que l'exemple de castorpilot mais dans son cas, le contexte est explicite (la classe Test).

    J'avoue que ma méthode n'est pas très propre. ^^

    Sinon, la différence entre variable d'instance et variable local, c'est leur portée.
    Un exemple:


    self #=> 'main'
    @a = 'foo' # variable d'instance de l'objet spécial 'main'
    a = 'bar' # variable local

    def foo
    puts @a
    puts a rescue "variable non défini"
    end

    foo

    #=> foo
    #=> variable non défini


    PS: Je ne suis pas programmeur, je fais du ruby par 'plaisir'. Donc il se peut que ces informations soit imprécises voir carrément fausses. Toutes mes excuses si c'est le cas et toutes corrections et/ou informations supplémentaires sont les bienvenus.