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 に答える