Rubyの変数と定数についてです。変数については慣れてくると意識しなくても使い分け出来るようになるんですが、最初は思わぬところで落とし穴にはまってたりして悩む事がよくありますよね。 ローカル変数 先頭がアルファベットの小文字か_で始まり、数字で始めると例外が発生します。また、最初に値が代入されたときに初期化されるため、初期化されていないローカル変数を参照した場合は、引数のないメソッドの呼び出しとみなされて例外が発生します。 name = "Ruby" # OK _name = "Ruby" # OK 1name = "Ruby" # エラー name # 事前に代入してない場合エラー ローカル変数は同じスコープ内でのみ使用できる変数で、別のスコープで同じ名前の変数を使ったとしても別のローカル変数として扱われるため、次のように別メソッドで同じ名前の変数に値を代入した場合でも影響されません。
![【Ruby】変数と定数ついて - TASK NOTES](https://cdn-ak-scissors.b.st-hatena.com/image/square/5682e1a0547bb4b62c032e8c273ef648e814e5f5/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftasukujp%2F20141109%2F20141109171014.png)