Rubyにおける「変数」は、値(データ)を一時的に保存し、プログラム内でその値を参照・操作するための名前(識別子)です。Rubyでは、変数の種類によって名前の先頭に特定の記号が付くことが特徴です。以下に、Rubyの主な変数の種類とその使い方を詳しく説明します。
1. ローカル変数(local variable)
-
記号: なし(小文字またはアンダースコアで始まる)
-
スコープ: 定義されたメソッドやブロック内でのみ有効
-
例:
2. インスタンス変数(instance variable)
-
記号:
@(アットマーク) -
スコープ: インスタンスごとに異なるデータを保持
-
用途: クラスの中で使い、各インスタンスが独立した状態を持てる
-
例:
3. クラス変数(class variable)
-
記号:
@@(アットマーク2つ) -
スコープ: クラス全体で共有され、すべてのインスタンスで共通
-
注意点: 継承関係で予期しない挙動をする場合があるため使用には注意
-
例:
4. グローバル変数(global variable)
-
記号:
$(ドルマーク) -
スコープ: プログラム全体で共有
-
注意点: 他の部分からも値を変更される可能性があるため、使用は最小限にとどめるべき
-
例:
5. 定数(constant)
-
記号: 最初が大文字(慣例としてすべて大文字)
-
スコープ: クラスやモジュールの中などのスコープに依存する
-
特性: 値の再代入は警告されるが技術的には可能
-
例:
まとめ:変数の見分け方一覧
| 種類 | 記号例 | スコープ |
|---|---|---|
| ローカル変数 | name |
メソッド・ブロック内 |
| インスタンス変数 | @name |
オブジェクト内 |
| クラス変数 | @@name |
クラス全体 |
| グローバル変数 | $name |
プログラム全体 |
| 定数 | MAX_VALUE |
定義したスコープ内 |
Rubyは変数の種類ごとに明確なスコープとルールを持ち、オブジェクト指向プログラミングに適した設計がなされています。変数の種類と役割を理解することは、Rubyを正しく使いこなすための重要な基礎です。
生成日:2025/05/03