ローカル変数¶
変数名の先頭が小文字の変数はローカル変数です。その宣言は、はじめて値が代入されたときに行われます。
name = "Crystal"
age = 1
ローカル変数の型は、初期化されるときだけではなく、その用途にしたがって推論されます。どういうことかというと、一般的にローカル変数というのは単純に型の情報を持った値の入れ物のようなものと考えることができて、プログラムにおけるそれぞれの場所や用途に応じてその入れ物の型も変化するということです。
例えば、次のようにローカル変数に別の式を再代入すると、その新しい式の型の変数となります。
flower = "Tulip"
# この時点では flower は String 型
flower = 1
# この時点では 'flower' は Int32 型
アンダースコアを変数名の先頭につけることも可能ですが、それらの名前はコンパイラによって予約されているため、先頭がアンダースコアの変数名は推奨されません (コードの見た目や読みやすさという点でもあまり美しくないですよね) 。