interlude

プログラミングや私的なこと

変数のスコープ

スコープとは

変数が有効な範囲のこと。ローカル変数とグローバル変数ではスコープが違う。

ローカル変数

とある場所で使われている変数の名前を、別のところで使っても影響が及ばないのであれば、違う変数として扱われる。

グローバル変数

プログラムの中のどこで使われても、同じ名前だったら必ず同じ変数として扱われる。

グローバル変数はプログラム全体のどこからでも変更が可能なので、一般的に好まれない。
ローカル変数は、最初に代入された時に初期化される。

irb(main):001:0> x + 10
NameError: undefined local variable or method `x' for main:Object
	from (irb):1
	from /usr/bin/irb:12:in `<main>'
irb(main):002:0> x = 10
=> 10
irb(main):003:0> x + 10
=> 20
irb(main):004:0>