如何在向Integer类添加新方法时获取整数值

时间:2017-10-09 16:42:13

标签: ruby

我想为Integer类添加新方法,但我不知道如何在此方法中访问整数值:

class Integer
  def foo
    'foo' * value
  end
end

应该像:

3.foo
=> 'foofoofoo'

1 个答案:

答案 0 :(得分:5)

使用self

class Integer
  def foo
    'foo' * self
  end
end
#It should work like:

p 3.foo
#=> 'foofoofoo'

您还可以使用Kernel#__method__来获得更通用的方法:

class Integer
  def foo
    __method__.to_s * self
  end
end

p 3.foo
#=> 'foofoofoo'