スコープとは「ある変数がプログラムの中で参照可能な範囲」のことで、変数によってその範囲は異なります。 ローカル変数 ●ブロックの外で宣言されたものは、ブロックの中でも有効 a = 1 1.times do puts a end #=> 1 ●メソッドの外で宣言されたものは、メソッド内では無効 a = 1 def foo puts a end foo #=> エラー(NameError) ●メソッドの中で宣言されたものは、メソッド内、ブロック内で有効。メソッドの外では無効 def foo a = 1 1.times do puts a end puts a end foo #=> 1 #=> 1 puts a #=> エラー(NameError) ●ブロックパラメータとして宣言されたものは、そのブロックが終わるまで有効 1.times do |a| end puts a #=> エラー(Na