先頭文字 |
種類 |
デフォルト値 |
名前の例 |
小文字またはアンダースコア |
ローカル変数 |
参照する前に代入が必要 |
local_variable |
@ |
インスタンス変数 |
nil |
@instance_variable |
@@ |
クラス変数 |
参照する前に代入が必要 |
@@class_variable |
$ |
グローバル変数 |
nil |
$global_variable |
class Variable
@@class
def test
@instance
puts "instance : " + @instance.to_s
@test = "instance initalize"
puts "instance : " + @instance.to_s
end
def local
local = "s"
puts "local : " + local.to_s
local = "local initalize"
puts "local : " + local.to_s
end
end
@@class = "class: initalize"
puts @@class
var = Variable.new
var.test
var.local
@@classを初期化しないで実行したら、以下のメッセージが表示されました。
variable.rb:21:in `<main>': uninitialized class variable @@class in Object (NameError)
@instanceについては問題なかったです。