クラスインスタンス変数
メタプログラミングRubyに書いてあったことメモ。
class Hoge ~ end の間に地の文で書かれている@の変数は「クラスインスタンス変数」と呼ばれるらしい。
class Hoge @p = 123 @@p = 234 end # クラスインスタンス変数 puts Hoge.instance_variable_get(:@p) #=> 123 puts Hoge.instance_eval { @p } #=> 123 puts Hoge.class_eval { @p } #=> 123 # クラス変数 puts Hoge.class_variable_get(:@@p) #=> 234