0
    class Fixnum
      def repeat
        for i in 1..self.to_i
          yield
        end
      end
    end

    z = Fixnum.new 4

上面的程序是给undefined method new for Fixnum:Class (NoMethodError). 为什么这样?我刚刚尝试在另一个课程中使用它并且它有效。

谢谢!

4

1 回答 1

3

在我看来,方法和错误没有关系,你为什么要做 z = Fixnum.new 4?

该方法应该像这样使用:

class Fixnum
  def repeat
    for i in 1..self.to_i
      yield
    end
  end
end

5.repeat{puts "hi"}
#or maybe?
z = 3
z.repeat{puts "bye"}
于 2011-09-18T01:09:43.080 回答