変数

公式サイト:

変数と定数 | Ruby リファレンスマニュアル [公式]

使い方

ローカル変数
  • 小文字 (またはアンダースコア) で始まる識別子は、ローカル変数またはメソッド呼び出しとなる。
  • ローカルスコープ (クラス、モジュール、メソッド定義の本体) において、小文字で始まる識別子への最初の代入は、そのスコープでのローカル変数の宣言となる。
  • 宣言されていない識別子の参照は、引数の無いメソッド呼び出しとみなされる。
インスタンス変数
  • アットマーク @ で始まる変数は、インスタンス変数として扱われる。
  • インスタンス変数は、クラスまたはそのサブクラス内で参照できる。
  • 初期化されていない場合の初期値は nil となる。
クラス変数
  • アットマーク2つ @@ で始まる変数は、クラス変数として扱われる。
  • クラス、または、そのサブクラス内で参照できる。
  • クラス、あるいは、そのサブクラスで共通の値を持つ。
  • モジュールで定義されたクラス変数 (モジュール変数) は、モジュールをインクルードしたクラスでも共有される。
  • 親クラスで定義されているクラス変数を再定義することはできない。
グローバル変数
  • ドル記号 $ で始まる変数は、グローバル変数として扱われる。
  • 実行中のプログラムの全てのスコープで共有される。
  • 初期化されていない場合の初期値は nil となる。

参考:

変数/定数 | とほほの WWW 入門

変数と定数 | Ruby リファレンスマニュアル [公式]

疑似変数

  • selfメソッドが属するオブジェクト
  • nilNilClass の唯一のインスタンス
  • trueTrueClass の唯一のインスタンス
  • falseFalseClass の唯一のインスタンス
  • __FILE__現在のソースファイル名
  • __LINE__現在のソースファイルにおける行番号
  • __ENCODING__現在のソースファイルのスクリプトエンコーディング

参考:

擬似変数 | Ruby リファレンスマニュアル [公式]

local_variables

参考:

Kernel.#local_variables | Ruby リファレンスマニュアル [公式]

ローカル変数に変数名でアクセスする

binding とシンボルを使って変数を取得する。

binding.local_variable_get(:var_name)

参考:

Binding#local_variable_get | Ruby リファレンスマニュアル [公式]

Get value from string representing local variable – Stack Overflow

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA