0049 Local_variable

Un détail sur leur fonctionnement

Les variables locales sont en Ruby créées lorsque le parseur les rencontres et non dynamiquement à l’exécution! De plus, un if ne créé pas de nouveau scope rendant les variables accessibles après la fin de celui-ci. C’est aussi le cas pour unless, while, until et for.

0049-local_variable_1.png

Un exemple plus intéressant mettant mieux en évidence l’étape du parseur. Dans le 1e if, le parseur voit et créé la variable a après la condition qui sera donc fausse au moment de l’exécution. Dans le 2e cas, il voit et créé b avant! (Un if inline n’est donc pas équivalent!)

0049-local_variable_2.png

Le lien vers la documentation Ruby des variables locales.