9

クラス変数を含むモジュールがあります

module Abc
  @@variable = "huhu"

  def self.get_variable
    @@variable
  end

  class Hello
    def hola
      puts Abc.get_variable
    end
  end
end

a = Abc::Hello.new
a.hola

メソッドを使わずに@@variable中に入ることはできますか?私は何かがいいだろうという意味です。ちょっと興味があるんだけど。Helloget_variableAbc.variable

4

2 に答える 2

4

モジュール内のクラスのスコープ内で@@variable直接(つまり)アクセスすることはできません。なんで?なぜなら、Rubyインタープリターがのようなものを見ると、Abcのクラス/モジュールメソッドと見なされるからです。Abc.variableHelloAbcAbc.variablevariable

Rubyでプログラミングするときは、Rubyのやり方を考えることが重要です。

于 2011-07-26T17:10:38.383 に答える
-1

これを試して

Abc.class_variable_get(:variable)
于 2014-03-31T08:39:55.213 に答える