我正在阅读一些教程,其中随附以下代码
module DecimalCode
RED = "rgb(255,0,0)"
GREEN = "rgb(0,128,0)"
def code
return "RED : Decimal code #{RED}"
end
def DecimalCode.code
return "GREEN : Decimal code #{GREEN}"
end
def hello
return "Hello world!"
end
end
include DecimalCode
puts DecimalCode.hello
puts DecimalCode.code
我的查询,
code
和DecimalCode.code
之间有什么区别puts DecimalCode.code
时,它总是打印Green: Decimal code
,为什么会这样?答案 0 :(得分:0)
模块中的方法可以是实例方法或模块方法。当包含模块时,实例方法在类中显示为类中的方法,而模块方法则不显示。
这里,code
被称为模块中的实例方法,而DecimalCode.code
被称为模块中的方法。