2021-09-22 Rubyの変数 Ruby/Rails インスタンス変数 クラス定義内で定義しない(するとクラスインスタンス変数になる) インスタンスに関連付けられる変数(インスタンスごとに独立した変数)なのでクラスメソッドからはアクセスできない あるインスタンスで属性値を変更しても、他のインスタンスにある同じインスタンス変数には影響しない クラスインスタンス変数 クラス定義式内で定義 クラスオブジェクトのインスタンス変数なのでインスタンスメソッドからはアクセスできない クラス変数 そのクラスのあらゆるインスタンスで共有される あるインスタンスでクラス変数を変更するとすべてのインスタンスのクラス変数に影響する 参照できる範囲 種類宣言したブロック外インスタンスメソッドクラスメソッドサブクラスクラス外 ローカル変数×---- インスタンス変数○○××× クラスインスタンス変数○×○×× クラス変数○○○○× 定数○○○○○