は、私は私がインスタンス変数を使用したいいくつかのモジュールを持っている私は現在、このようにそれらを初期化しています:。Rubyでモジュールのインスタンス変数を初期化するにはどうしたらいいですか?
module MyModule
def self.method_a(param)
@var ||= 0
# other logic goes here
end
end
また、私はそれらを初期化するためにinitメソッドを呼び出すことができます。
def init
@var = 0
end
しかし、これは私が常にそれを呼び出すことを覚えなければならないことを意味するでしょう。
これを行うには良い方法がありますか?
def init(var=0)
@var = var
end
をそして、あなたは何を通過しない場合には0にデフォルト設定されます:
最初のコードブロックは、モジュールインスタンスvar(MyModuleの型オブジェクトのスコープ内のvar)を設定せず、2番目のコードブロックは "plain"インスタンスvar(varを含むインスタンスの範囲内のvarモジュール)?私はこれらの2つのコードブロックが同じことをしないと思います... –