1. ホーム
  2. ruby

[解決済み] Rubyでモジュール変数を作成する

2022-09-15 20:24:16

質問

Rubyのモジュールに、クラス変数と同じような振る舞いをする変数を作る方法はありますか?私が言いたいのは、モジュールのインスタンスを初期化することなくアクセスすることができ、(モジュール内の定数とは異なり)変更することができるということです。

どのように解決するのですか?

Ruby はモジュール内のクラス変数をネイティブにサポートしています。したがって、プロキシや擬似クラス変数ではなく、クラス変数を直接使用することができます。

module Site
  @@name = "StackOverflow"

  def self.setName(value)
    @@name = value
  end

  def self.name
    @@name
  end
end

Site.name            # => "StackOverflow"
Site.setName("Test")
Site.name            # => "Test"