Output Diary

プログラミング × 読書 のアウトプットを発信しています

【Ruby】変数とは

 

f:id:kina_kq:20210219075139p:plain

 

今日はRubyの変数についてのお話です。

 

 

 

変数とは

 

変数とは名前を一時的に数字や文字などのデータを記録しておく格納庫のようなものです。

 

変数を使うと、

「同じ要素を繰り返し使える」

「変更に対応しやすい」

「何の要素か分かりやすい」

 

というメリットがあります。

 

 

Rubyにおける代表的な変数は以下の通りです。

これからそれらの変数について詳しくみていきましょうー!!!

 

ローカル変数

ローカル変数とは、特定のメソッド呼び出しや宣言されているクラス内、ファイルの実行の中だけで使用できる変数です。

ローカル変数の先頭の文字は、小文字かアンダーバー(_)で始まります。

 

インスタンス変数

インスタンス変数とは、特定のオブジェクトに属する変数です。

インスタンスごとに独立してもつ変数なため、インスタンス変数といいます。

 

インスタンス変数の先頭の文字は、で始まります。

初期化されていない場合、デフォルトの値はnilです。

 

@foobar

 

クラス変数

クラス変数とは、クラスに属する変数で、クラス及び子孫クラス、そのクラスのインスタンス間で共有されます。

クラス変数の先頭の文字は、@@で始まります。

class Foo
  @@foo = 1
  def bar
    puts @@foo
  end
end

グローバル変数

グローバル変数は、その名の通り、どこからでも参照でき、どこからでも代入できる変数です。

グローバル変数の先頭の文字は、$で始まります。

デフォルトの値はnilです。

 

定数

定数とは、変更されない変数です。
一度定義された定数に再び代入を行おうとすると警告メッセージが出ます。定義されていない定数にアクセスすると例外 NameError が発生します。

 

アルファベット大文字 ([A-Z]) で始まる識別子は定数です。

定数の先頭の文字は、大文字です。

FOOBAR
FOOBAR

 

参考

Ruby3.00リファレンスマニュアル https://is.gd/PIm4Pd

 

 

ということで今回は変数のお話でした。

それではまた明日ー!!

 

f:id:kina_kq:20210214132038p:plain