Rubyの変数と定数
変数とは
オブジェクトに付ける名札
変数の分類
・ローカル変数 :先頭がアルファベット小文字か _ で始まる
・グローバル変数 :先頭が $ で始まる
・インスタンス変数:先頭が @ で始まる
・クラス変数 :先頭が @@ で始まる
ローカル変数の有効範囲
・クラス定義
・モジュール定義
・メソッド定義
・ファイル
ブロック変数の有効範囲
Ruby1.8
ブロック変数は名前空間をローカル変数と共有するので、意図せず値が上書きされることがある
Ruby1.9
ブロック変数はブロック内のみで有効
参照渡し
= は、参照渡し
s1 = "a"
s2 = s1
s1.upcase!
print s2 #=> A
値渡し
値渡しにするには、dupメソッドを使用
s1 = "a"
s2 = s1.dup
s1.upcase!
print s2 #=> a
定数とは
・変数と同様、オブジェクトに付ける名札
・変数とは違い、一度代入したら終わり
・先頭がアルファベット大文字で始まる