Ruby インスタンス変数とクラス変数の簡単な使い方

Ruby インスタンス変数とクラス変数の簡単な使い方

Rubyで、モジュールの簡単な使い方を記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

インスタンス変数とクラス変数

インスタンス変数とクラス変数の違いは、以下の通りです。

  • インスタンス変数 : インスタンスごとに値が変わる
  • クラス変数 : インスタンスごとの値は同じ

インスタンス変数

実際にインスタンスを2つ生成して、インスタンス変数を利用してみます。
インスタンス変数は、変数の前に「@」を前に付けて定義します。

hoge1とhoge2の値が異なることが確認できます。また、クラスメソッドからはアクセスできません。

クラス変数

次にクラス変数を定義してみます。
クラス変数は、変数の前に「@@」をつけて定義します。

クラス変数は、インスタンスが異なっても、値が共有されます。

クラスメソッドからも利用できます。

継承先で変更されても、共有されます。

attr_accessor

インスタンス変数は、「attr_accessor」を使用して定義することも可能です。