モジュール定義でそれらを初期化します。
module MyModule
@species = "frog"
@color = "red polka-dotted"
@log = []
def self.log(msg)
@log << msg
end
def self.show_log
puts @log.map { |m| "A #@color #@species says #{m.inspect}" }
end
end
MyModule.log "I like cheese."
MyModule.log "There's no mop!"
MyModule.show_log
これにより、モジュールの定義時にインスタンス変数が設定されます。後でalwasysでモジュールを再度開いて、インスタンス変数とメソッド定義を追加したり、既存のものを再定義したりできることを忘れないでください。
module MyModule
@verb = "shouts"
def self.show_log
puts @log.map { |m| "A #@color #@species #@verb #{m.inspect}" }
end
end
MyModule.log "What's going on?"
MyModule.show_log