我有一些Ruby问题。 让我上课Cat。 Cat具有age属性,即Class :: Integer。 如何添加方法.humanize,它将计算我项目中所有猫的人类年龄等值? 即......
@cat.age #=> 2
@cat.age.humanize #=> 20
@tree.age #=> 5
@tree.age.humanize #=> NO METHOD ERROR!!! OH, YEAH!
答案 0 :(得分:1)
这称为元编程。您可以通过执行以下操作来完成您想要的任务:
def @cat.humanize_age
return @age * 10
end
您可以将方法添加到Integer
内的Cat
类中:
class Cat
attr_accessor :age
def initialize(a)
@age = a
add_meta
end
def add_meta
def @age.humanize
return self * 10
end
end
end