2010年06月15日

Ruby on Rails グローバル変数と変数

グローバル変数とは?


同じプログラム内ならばどこでも参照可能

定数とは?


文字の通り定められた数、固定文字ですね。

環境


rails1.2.6
app/models/hoge.rb
app/controllers/hoge_controller.rb

使用方法


$ vi どこでもいいです
$hoge = "hoge"

$ vi ちがうどこか
puts $hoge
=> "hoge"

まぁ、グローバル変数に入れたものはどこでも参照可能ということですね。
一点注意が必要なのですが、$がついているものが全てグローバル変数ではありません。
例えば
$&

こんなんがあります。
これは正規表現でマッチしたものを取り出してくれます。
というわけでグローバル変数ではありません。

定数


$ vi hoge.rb
HOGE = "hoge"

$ vi hoge_controller.rb
puts Hoge::HOGE
=> "hoge"

自分はいつも定数は全部大文字で書いちゃいますけど、
基本的にHogeってかくものっぽいなぁ。
まぁ大文字で始まればいいからどっちでもいいのかな。
さて、この定数にも注意点があります。
定数に対して再定義は禁止です。
さらにこれにも注意点が有りまして、入れ替えは可能です。
$ vi hoge_controller.rb
Hoge::HOGE = "HOGE"
=> Error

Hoge::HOGE.sub!("hoge","HOGE")
=> "HOGE"

Hoge::HOGE = Hoge::HOGE.sub!("hoge", "HOGE")
=> 警告と"HOGE"

簡単に定数といってもなにげにしらないことが多いもんですよね。
posted by RicK at 15:35| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/38945355

この記事へのトラックバック