2012-08-14 46 views
0

ruby​​-docs.org教程有section on Modules這裏引入了Mixins的概念。 給出的例子將第一個參數作爲字符串引用並打印出來。但是,我在代碼中看到,沒有接收器的參數和執行不失敗,ArgumentErrorRuby Docs Mixin示例 - 參數錯誤

# Ruby module Mixin example. 

module Debug 
    def whoAmI? 
    "#{self.type.name} (\##{self.id}): #{self.to_s}" 
    end 
end 
class Phonograph 
    include Debug 
    # ... 
end 
class EightTrack 
    include Debug 
    # ... 
end 
ph = Phonograph.new("West End Blues") 
et = EightTrack.new("Surrealistic Pillow") 
ph.whoAmI? #» "Phonograph (#537766170): West End Blues" 
et.whoAmI? #» "EightTrack (#537765860): Surrealistic Pillow" 

我的問題是什麼來解決這個代碼正確方法是什麼?另外,如果有人能夠啓發,那麼教程中的例子怎麼是錯的。 Ruby版本之間有什麼變化嗎?

[TW-mbp13-skumaran紅寶石] $紅寶石ruby23.rb ruby​​23.rb:16:initialize': wrong number of arguments (1 for 0) (ArgumentError) from ruby23.rb:16:in新的」 從ruby23.rb:16

回答