定数のスコープ
Rubyには変数名を大文字で始めると定数として扱われるという面白いルールがあります。単純に値が書き換え不可になるだけではなく、そのスコープもグローバルになるようです。つまり以下のコードはエラーになります。
def foo
A = 3 # error!
end
以下のコードはOKです。
def foo
puts A
end
A = 10
foo #=> 10
普通の変数(ローカル変数)と比較すると違いが分かり易いかと思います。以下のコードはbar関数を呼び出したところでエラーになります。
def bar
puts b
end
b = 20
bar # error!
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について