クラスメソッドと、クラス変数について挙動を調べる
Rubyでクラスを定義するときに、@@をつけるとクラス変数、@をつけるとインスタンス変数となる。
で、クラスメソッド内でインスタンス変数にアクセスしたらどういう挙動を示すのかちょっと調べること10分。
- サブクラスを含めてクラス内のあらゆる所からアクセスできるのが@@var。
- クラスメソッド内で使った@varはそのクラスのみ(サブクラスからは参照不可)、クラスメソッドの中からアクセスできる。
- インスタンスメソッド内で使った@varは、クラスメソッド内で@varを使っていても、それとは独立してインスタンスメソッドからアクセスできる。
ということがわかった。
さて、英語の試験勉強の続きとかやらないと。