Rubyの変数の種類について

"初めてのRuby"ですが、現在のところプログラミングをしていて、忘れてしまった所を辞書的に使っている感じです。
今回は変数の記述の仕方についてです。6章です。

初めてのRuby

初めてのRuby


Rubyは、変数宣言の必要が必要ありません。いきなり使うことができるのですが、スコープが異なる変数がいくつか用意してあります。使い分ける方法として、先頭の1文字によって自動的に種類が決まります。

6.1.2 変数の種類

変数名規則
先頭文字 種類 デフォルト値 名前の例
小文字またはアンダーバー(_) ローカル変数 参照する前に代入が必要 local_hoge, _local
@ インスタンス変数 nil @instance_hoge
@@ クラス変数 参照する前に代入が必要 @@class_hoge
$ グローバル変数 nil $global_hoge
大文字 定数 参照する前に代入が必要 CONSTANT_HOGE

6.1.3 ローカル変数

一番スコープの狭い変数で、メソッド内(def式)、クラス定義内(class式)、ファイル実行内だけで利用することができます。普段はローカル変数で事足りる場合がほとんどだと思います。本にも特に理由のない限りでローカル変数を使用するのが良い習慣であると書いてあります。

6.1.4 インスタンス変数

特定のオブジェクトに属する変数です。

6.1.5 クラス変数

クラスに属する変数です。

6.1.6 グローバル変数

どこからでも参照が可能な変数です。

6.1.7 定数

変更不能な値を設定できます。変更されない変数です。


これらをうまく使い分けているかというと自信はありません。