我写了一个简单的方法来检查一个数是否为Armstrong number。 但现在我想修改默认的Number类的放置方法。 所以,我有代码:Ruby - 修改类
def is_an(number)
(number.to_s.split(//).map(&:to_i).inject{|x,y|x+y**(number.size-1)}) == number ? true : false
end
p is_an(153)
我想用它作为方法:153.is_a?
那么,如何做到这一点?
class Number
def is_an
??? How to use object data over here? ???
end
end
对于阅读很多东西。
使用'self'在配方中替代'number'。 – halfelf
甚至只是完全删除变量名称,虽然这有时不太可读 –
我试过了,但它不起作用。我发现问题:我不得不使用Fixnum类,而不是Number。谢谢。 – user2571879