我寫了下面的代碼。當我運行Hello.run
我想記錄一條消息,但這不起作用。當我在類中運行方法時,如何記錄消息?
爲什麼不能正常工作?
class Hello
def initialize
@logger = Logger.new STDOUT
end
def self.run
self.new
@logger.warn 'Hello'
end
end
Hello.run
這是錯誤信息運行Hello.run
NoMethodError: private method `warn' called for nil:NilClass
謝謝,我也會閱讀你更長的答案。好像我只需要更好地理解Ruby類和可變範圍。 – pkhamre 2012-07-18 12:48:35