定数や変数の実験・その3【ローカル変数の実験】
シリーズもので Ruby の変数や定数の実験をしています。
1.定数の実験
2.グローバル変数の実験
3.ローカル変数の実験
4.インスタンス変数
5.クラス変数の実験
今回は、3.ローカル変数の実験の実験をしてみました。
ローカル変数の実験1
ローカル変数の実験2
Ruby の変数や定数の命名規則は、こちらからどうぞ。
【広告】
1.定数の実験
2.グローバル変数の実験
3.ローカル変数の実験
4.インスタンス変数
5.クラス変数の実験
今回は、3.ローカル変数の実験の実験をしてみました。
ローカル変数の実験1
hensu = 'hensu_data'
hensu = 'hensu_data_new' # もちろん値を書き換えられる
class MyClass
hensu = 'hensu_data_in_class'
def method1
p hensu
end
def method2
hensu = 'hensu_data_in_method'
p hensu
end
end
p hensu # -> "hensu_data_new"
my_instance = MyClass.new
my_instance.method1 # -> ERRORになってここで止まってしまう。method1 のブロックには hensu が定義されていませんから。
my_instance.method2 # -> "hensu_data_in_method"
p hensu # -> "hensu_data_new"
ローカル変数の実験2
3.times do
p defined?(hensu) # -> nil ※注:何回目のループでも常に定義されていない(nil)扱い。
hensu = 'hensu_data'
p defined?(hensu) # -> "local-variable(in-block)" ※注:1行前で定義されたのでこういう結果になる。
end
Ruby の変数や定数の命名規則は、こちらからどうぞ。
【広告】